扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.首先将SpringBoot项目打包成JAR包,然后通过FTP工具上传到Linux,执行如下命令:
创新互联服务项目包括寻乌网站建设、寻乌网站制作、寻乌网页制作以及寻乌网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,寻乌网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到寻乌省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
该命令执行后,启动jar,一旦shell窗口关闭后,JAR就停止运行了.
若需要项目在后台一直运行,需要通过如下命令启动JAR:
上述 2 和 1 的含义如下:
0 标准输入 (一般是键盘)
1 标准输出 (一般是显示屏,是用户终端控制台)
2 标准错误 (错误信息输出)
上述 console.log 为日志文件,需要在Linux中提前创建:
1.实时跟踪日志:
实时跟踪日志,只要执行findAll这个方法,就会将其对应的日志打印出来,用来跟踪特定的日志运行.
--line-buffered 是一行的缓冲区,只要这一行的缓冲区满了就会打印出来,所以可以用于实时监控日志.
2.tailf -n 200 console.log 打印最后200行日志,并持续跟踪日志.
tail -n 500 console.log | more 分页查看最后500行日志.
1.编写一个shell脚本,命名为 start_JAR.sh,脚本和可执行JAR放在同一目录下.
2.执行 start_JAR.sh 脚本,启动可执行JAR.
添加可执行权限:
执行脚本:
1.先安装nginx所需要的环境
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
也可按照如下命令一键安装
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.安装nginx,安装在/usr/local下
wget -c
# 解压缩
tar -zxvf linux-nginx-1.12.2.tar.gz
cd nginx-1.12.2/
# 执行配置
./configure
# 编译安装(默认安装在/usr/local/nginx)
make
make install
安装完直接访问 默认端口是80
Nginx常用命令
测试配置文件:${Nginx}/sbin/nginx -t
启动命令:${Nginx}/sbin/nginx
停止命令:${Nginx}/sbin/nginx -s stop/quit
重启命令:${Nginx}/sbin/nginx -s reload
查看进程命令:ps -ef | grep nginx
平滑重启:kill -HUP [Nginx主进程号(即ps命令查到的PID)]
喜欢请关注 “蛋皮皮” 微信公众号!更多干货等你来学习哦。
(1)java -jar 包名 当窗口关闭或按Ctrl+c则程序终止
(2)java -jar 包名 当窗口关闭则程序终止
(3)nohup java -jar 包名 程序不因窗口关闭或按Ctrl+c而终止,生成默认日志文件
(4)nohup java -jar 包名 日志名 在(3)的基础上自定义生成日志
(1)tail n 日志名 n代表查看日志的行数
例子:tail 10 nohup.out 查看正数10行的日志
例子:tail -10 nohup.out 查看倒数10行的日志
(2)tail -f nohup.out 实时查看日志
(1)ps -ef | grep java 查看进程
(2)netstat -tunlp 端口号查看
kill -9 pid
例如查找文件名为nginx的文件 find / -name nginx
(1)找到并进入nginx文件夹下的sbin文件夹
(2)执行 ./nginx -s reload
free 命令 默认以kb为计算单位,可以在后面通过添加 -b ,-m ,-g ,-h等修改计算单位
例如 free -h以较友好的方式展示
按理来说total = used + free ,但是这边不晓得为什么free只剩了123M,有答案了再来补上
top 命令
top 行依次为系统时间、距上次重启系统时间、登入用户数、平均负载
tasks 行为进程任务情况
cpu 行为cpu的使用情况
暂时没了,想起来再补
Introduce
在开发模式的时候,我们常用 nodemon 和 webpack 热更新nodejs项目(如express)和前端项目(如vue),但需要部署的时候我们就不能再用开发环境的配置了,需要改成生产环境配置。为了使得项目可以稳健的运行在服务端,node可以使用nohup启动,前端项目可以使用nginx代理。
但是为了更加规范管理,我们应该使用pm2来管理node项目。
nohup(不推荐使用)
作用:不挂断地运行命令。
启动后通过 ps -ef 可以查看进程和 pid,如果需要停止,输入
需要特别注意的是,退出远程时,要使用 exit 退出,直接关闭远程工具将会导致后台静默进程停止。
尽管nohup是内置工具,但万一服务抛异常,对外没有反应,表现为无端停止服务,对维护不友好。
pm2(推荐使用)
相比 nohup,pm2 更加合理,推荐使用 pm2 部署。
首先全局安装 pm2
为了方便,我们可以把 pm2 软链接到系统环境下(假设 pm2 安装路径是/usr/sbin/nodejs/bin/pm2),
最后在项目中添加 pm2 配置文件, processes.json
其中 name 代表进程别名,script 代表需要执行的命令,env 是注入到服务中的变量。
最后修改 package.json 的 start 命令(项目为 express )为
如果需要查看 pm2 状态,使用
表明通过 pm2 启动项目。
停止或重启服务使用
自动启动
在实际情况下,偶尔会发生服务器宕机,可是重启后pm2应用不会被自动启动,这时候我们就需要去保存我们的pm2状态,然后配置开机自启。
执行后会输出
这表示pm2把当前应用列表启动信息保存到了磁盘文件上
执行后输出
这表明pm2往系统中写入了开机启动任务,开机是自动启动上次pm2保存的应用列表
这时候如果想测试,可以手动重启服务器试一下,查看一下pm2应用任务是否正确启动
再也不用担心重启后服务不起了。
nginx
作为一个高性能的http和反向代理服务,在linux上不免要选用它。
安装教程
代理教程
对于Web而已,80端口和443端口是十分重要的,原则上需要输入 才可以浏览网页的,但由于默认端口是80,所以‘:80’可以忽略。同理对于https的443端口也一样。
所以我们常常需要在80端口监听多个服务,这就必须要用上nginx的代理功能了。用法如下:
常规配置
代理配置
nginx如果检测到vue.msg.com的请求,将 转发 请求到本机的8080端口,如果检测到的是react.msg.com请求,也会将请求 转发 到8081端口。
同样的,如果前面用pm2开启了node项目,而且运行在3000端口,并且已经做好了域名映射,如(api.msg.com),我们可以同理配置代理
上面就是linux上部署项目的教程(后续介绍 docker部署 )。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流