(二)SpringBoot2项目部署Linux+Nginx

接着上一篇内容,今天把项目部署到Linux服务器,并通过Nginx做请求代理转发。

Linux 服务器系统:CentOS 7.9 64位

  1. 上传jar到服务器
  2. 安装jdk1.8
  3. 云服务器安全组添加入方向的端口8080
  4. 通过java -jar java-web.jar 启动项目,通过ip:8080/hello测试访问
  5. 解析一个二级域名供java-web使用
  6. 配置nginx.conf

通过scp命令上传jar到服务器:

参考:https://help.aliyun.com/zh/ecs/user-guide/use-sftp-to-upload-files-to-a-linux-instance?spm=a2c4g.11186623.help-menu-25365.d_0_1_2_7_5.42807bc7thNTYp&scm=20140722.H_478701._.OR_help-T_cn~zh-V_1

scp ./target/java-user-0.0.1-SNAPSHOT.jar root@111.16.211.111:/home

安装JDK1.8:

参考:https://help.aliyun.com/zh/ecs/user-guide/manually-deploy-openjdk?spm=a2c4g.11186623.help-menu-25365.d_0_10_4_2_1.119e7067WCiBLo

sudo yum install -y java-1.8.0-openjdk-devel

配置安全组:

启动项目测试访问:

java -jar java-user-0.0.1-SNAPSHOT.jar

这里我们优化下启动命令,直接java -jar 启动是属于前台启动,关了窗口服务就停了,我们改用nohup 后台启动运行

sudo nohup java -jar java-user-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
  • nohup:防止进程在退出时接收到挂起信号。

  • > app.log:将标准输出重定向到 app.log 文件中。

  • 2>&1:将错误输出也重定向到 app.log

  • &:将进程放入后台运行。

看日志直接执行tail命令

tail -f app.log

解析域名配置Nginx:

因为我这个服务器上原来部署过php项目,nginx配置文件中原来直接转到了php,现在新增了个java-web项目,要通过php转发的话我们再创建个java-web.conf。

我先把再原来的主域名下再解析个java的二级域名(免费)供java项目使用。

配置Nginx:

在/etc/nginx/conf.d下添加一个配置文件java-web.conf

配置文件内容:

server {
    listen 80;
    server_name java.xxx.ink; # 一个项目直接主域名就行了

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
}
}

另一个php的项目是这么配置的:

server {
    listen       80;
    server_name  php.xxx.ink;

    # 根目录
    root   /usr/share/nginx/html;

    # 设置首页文件
    index  index.html index.htm index.php;

    location / {
       try_files $uri $uri/ /index.php?$query_string;
    }

    # 将.php请求转发给PHP-FPM
    location ~ \.php$ {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include  fastcgi_params;
    }


    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    #location ~ /\.ht {
    #    deny  all;
    #}
}

配置完成后测试下配置有没有问题:

sudo nginx -t

没问题后重载配置文件:

sudo systemctl reload nginx

接下来通过域名访问测试:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值