前后端分离项目线上部署

10 篇文章 0 订阅

基本说明

前端采用 nginx 转发实现
后端采用 springboot 打包成 jar 启动

前端 nginx 虚拟主机配置

server {
    listen 5678;
    server_name 110.53.222.145;
    location /site1 {
        alias /path/gf-uat/site1;
        index index.html;
    }
    location /file {
        alias /path/gf-uat/file;
    }
    location / {
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '$http_origin';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,token';
            add_header 'Access-Control-Max-Age' 1728000;
            add_header 'Content-Type' 'text/plain charset=UTF-8';
            add_header 'Content-Length' 0;
            return 204;
        }
        add_header 'Access-Control-Allow-Origin' '$http_origin';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,token';

        proxy_pass http://localhost:7897;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        client_max_body_size 1024m;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_redirect off;
    }
}

以下代码,代表的是 转发支持 websocket 的相关配置,以及 websocket 的连接时间

        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

以下代码,代表 请求转发,解决 跨域访问问题

    location / {
        proxy_pass http://localhost:7897;

后端 jar 启动脚本

start.sh

#!/bin/bash
PROJECT=ppp.jar
DEST="/path/ppp"

FILE=${DEST}/${PROJECT}

echo "running ppp server ...."
nohup java -Xmx512m -Xms512m -Xmn185m -Xss256k -Dserver.port=7865 -jar ${FILE} 2>&1 | cronolog log.%Y-%m-%d.out >> /dev/null &
echo "running ppp server finish"

stop.sh


#!/bin/sh
process=`ps -fe|grep "ppp.jar" |grep -ivE "grep|cron" |awk '{print $2}'`
if [ !$process ];
    then
        echo "stop ppp process $process ....."
        kill -9 $process
        sleep 1
else
    echo "ppp is already stop!"
fi

其他补充

[注意] 开启 nginx 外网访问端口

nohup

nohup
nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

nohup 是 no hang up 的缩写,就是不挂断的意思。

在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;

nohup command > myout.file 2>&1 &

(2) &

加载一个命令的最后面,表示这个命令放在后台执行

有两个命令可以来查看,ps 和 jobs。区别在于 jobs 只能查看当前终端后台执行的任务,换了终端就看不见了。而ps命令适用于查看瞬时进程的动态,可以看到别的终端的任务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值