Linux下部署前后端分离项目

发布时间 2023-04-12 20:16:16作者: 旧歌

1.nohup

  • nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
  • nohup 是 no hang up 的缩写,就是不挂断的意思。
  • nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
  • 在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。
  1. 首先使用 which nohup 查看linux服务器是否安装nohup
  2. 如果显示 /usr/bin/nohup 说明已经安装 ,如果没有,说明需要安装,如下:
1. 下载nohup
yum install coreutils

2.查看下载的nohup
cd /usr/bin
which nohup

3.配置nohup路径,全局使用
vi ~/.bash_profile
在PATH= $PATH: $HOME/bin后面添加:/usr/bin

4.配置的nohup立即生效,刷新配置变量
source ~/.bash_profile

5.查看版
nohup --version

参数说明:
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行。

2.将jar包上传到linux服务器部署

可以使用filezilla.exe 连接服务器进行上传文件

#使用nohup 将jar包挂在后台启动 ,同时将日志输出到nohup.out
nohup java -jar five-six-server-0.0.1-SNAPSHOT.jar & 	

启动jar包,查看日志

我们也可以使用shell脚本 
使用 touch start.sh  创建一个start.sh 的启动文件
使用 vi start.sh 写入下边内容 使得每次启动都会创建一个 fivesix年月日时分秒.log日志文件 (
例如:fivesix2023-04-12 17:12:04.log)
#!/bin/bash
nohup java -jar five-six-server-0.0.1-SNAPSHOT.jar  > fivesix"$(date +"%Y-%m-%d %H:%M:%S")".log 2>&1 &

使用 cat fivesix年月日时分秒.log 查看日志
也可以 使用 tail -1000f fivesix年月日时分秒.log 查看日志

 注意:nohup: 重定向标准错误到标准输出 如果碰到这种情况  加上2>&1
 解释:
    1代表:标准输出(STDOUT)
    2代表:标准错误(STDERR)
    2>&1
    表示把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里  面了,也就是nohup.out 。

3.查看是否存在进程

ps -ef|grep java(或者 jar包名字.jar)

4.使用Nginx部署前端

1.下载Nginx安装包

2.上传到linux并解压

#配置configure --prefix 代表安装的路径,--with-http_ssl_module 安装ssl,--with-http_stub_status_module查看nginx的客户端状态
./configure --prefix=/usr/local/nginx-1.20.2 --with-http_ssl_module --with-http_stub_status_module


3. 使用 ./configure自动配置nginx

使用默认配置,在nginx安装根目录下执行(一般在 nginx: /usr/local/nginx )

也可以用 whereis nginx 来查看nginx安装目录 例: nginx: /usr/local/nginx

 ./configure  自动配置Nginx

#编译安装nginx   待 ./configure执行完成 依次执行make  make install 
make 
make install 

4.配置发布前端:

1.在nginx安装目录下 html目录下新建waves(名字随意)目录 也可省略,可放多个前端包
2.将前端包放在目录下并解压
3.配置nginx代理

    server {
        listen       8086;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/local/nginx/html/fivesixFrontEnd/mycli3/;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        location /api {
            proxy_pass http://192.168.68.135:8443/film;
        }

	}

5. Nginx常用命令

cd /usr/local/nginx/sbin/
./nginx  启动
./nginx -s stop  停止
./nginx -s quit  安全退出
./nginx -s reload  重新加载配置文件
ps aux|grep nginx  查看nginx进程
./nginx -s reload  重启Nginx

Nginx报错解决

使用下面命令和结果截图