Nginx反向代理和前后端分离项目打包部署

Nginx反向代理

Nginx的定位:主要用于做反向代理,一般都是用它来做前端页面的服务器,动态资源代理到后端服务器。这样做的好处是可以避免跨域请求带来的不便。

使用Nginx主要是对Nginx中的nginx.conf文件进行配置:

虚拟主机配置
server {
       listen   7777#端口号,不能被占用;
       server_name  localhost#如果是本机就可以用localhost,如果不是则使用ip地址;
       location /{ 
         root F:\demo\dist;#代理的项目文件,如dist文件地址
         index index.html#项目中的主页html地址;
       }
}
反向代理配置
#以/demo/开始的请求会被代理到指定的服务器访问,如后端端口号
location /demo/ {
            proxy_pass   http://localhost:8080/;
        }
负载均衡配置
upstream demoServer {
    server localhost:8080;
    server localhost:9090;
}

location /demo/ {
	proxy_pass  http://demoServer/;
}
  • 负载均衡—轮询

    upstream demoServer {
        server localhost:8080;
        server localhost:9090;
    }
    
  • 负载均衡—权重

    upstream demoServer {
        server localhost:8080 weight=2; #权重越大,被分配处理的请求越多
        server localhost:9090 weight=1;
    }
    
  • 负载均衡—ip_hash

    ip_hash就是通过请求的ip地址,使用hash算法,算出来应该访问那一台服务器,如果是ip地址没变,那么这个请求的服务器 就永远都不会变

    upstream demoServer {
        ip_hash; # 负载均衡规则
        server localhost:8080;
        server localhost:9090;
    }
    

前后端web项目CentOs部署

使用工具:Xftp 7,Xshell 7,7-Zip

前端部署

  • 前端项目,使用yarn build 命令打包成dist文件

  • 使用Xftp7连接上服务器后,使用7-Zip工具将dist文件打包成.tar压缩包,再压缩一遍压缩为.tar.gz,然后再Xftp7中拖入/usr/local目录中。

  • 使用命令解压

    tar zxvf dist.tar.gz -C /var/www/html
    #这里的-C表示指定位置解压,/var/www/html是解压的地址,也可以是其他位置,这个位置后续在Nginx的配置中要用到
    
  • 在Nginx中配置nginx.conf文件,一般在nginx目录下的/conf中

    cd /usr/nginx/conf
    vi nginx.conf #进入目录后进行修改
    
  • 在上文中介绍了如何配置Nginx,如果只有一台服务器只需要配置虚拟主机和反向代理

server {
       listen   7777#端口号,不能被占用;
       server_name  1.1.1.1#如果是本机就可以用localhost,如果不是则使用ip地址;
       location /{ 
         root var/www/hrml/dist;#代理的项目文件,如dist文件地址
         index index.html#项目中的主页html地址;
       }
}

#以/demo/开始的请求会被代理到指定的服务器访问,如后端端口号
location /demo/ {
            proxy_pass   http://localhost:8080/;
        }

然后启动niginx:

./usr/local/nginx/sbin/nginx #启动nginx
ps aux | grep nginx #查看nginx进程

后端部署

  • Java项目是以jar包的形式运行,因此使用Xhtp 7 工具将jar包拖进Linux系统中,如/usr/local
  • 使用命令运行:
cd /usr/local
java -jar demo.jar
  • 也可以后台运行:
nohup java -jar demo.jar > output.log 2>&1 &

其中output.log表示系统运行时的标准输出和错误文件,系统会自动创建该文件,并将输出和错误重定向到该文件。

  • 查看端口号是否运行,使用lsof命令,如果没有安装就先进行安装:

    yum install lsof
    
  • 然后查看端口进程:

    lsof -i :8080
    
  • 开放你的网站访问端口和后端代理端口,并重置防火墙以生效:

  •   firewall-cmd --zone=public --add-port=7777/tcp --permanent
      firewall-cmd --zone=public --add-port=8080/tcp --permanent
      firewall-cmd --reload
    
    
  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值