• linux之前后端项目部署与发布


    目录

    前言

    简介

    一、安装Nginx

    二、后端部署

    2.1多个tomcat负载均衡

    2.2 负载均衡 

    2.3 后端项目部署

    三、前端部署

    1.解压前端

    2.Nginx配置文件修改

    3.IP域名映射 

    4.重启Nginx服务


    前言

    上篇博主已经讲解过了单机项目的部署linux之JAVA环境配置JDK&Tomcat&MySQLlinux之JAVA环境配置JDK&Tomcat&MySQL​​​​​​

    本篇给大家讲解一下,使用Nginx负载均衡,部署前后端分离项目

    简介

    Nginx是一个开源的web服务器和反向代理服务器,它也可以用作负载均衡器和HTTP缓存。想象一下,一个餐厅的厨师和顾客之间有一个非常高效的服务员,这个服务员就像Nginx一样。在餐厅中,服务员负责接收顾客的订单,把订单传给厨师,然后在菜品准备好后把菜品端给顾客。这个过程就像Nginx处理HTTP请求一样。

    当有很多顾客同时在餐厅就餐时,服务员可以快速地为每位顾客提供服务,让他们不用等待太久。同样地,Nginx也可以处理大量并发的请求,提高网站的性能和稳定性。

    一、安装Nginx

    安装我们nginx所需要的依赖

    1. 1)一键安装4个依赖
    2. yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

    2)下载并解压安装包 

    1. wget http://nginx.org/download/nginx-1.13.7.tar.gz
    2. tar -xvf nginx-1.13.7.tar.gz -C /usr/local/java/

    3)安装nginx,一般我们在nginx都是要安装ssl证书的

    1. # 进入安装包目录
    2. cd nginx-1.13.7
    3. # 编译,执行配置: 考虑到后续安装ssl证书 添加两个模块
    4. ./configure --with-http_stub_status_module --with-http_ssl_module
    5. # 安装编译一下,一般我们编译完后/usr/local/
    6. make && make install

    这里就我们编译完后的文件夹,conf是环境配置文件,html是静态资源,logs日志,sbin启动

    4)启动 nginx 服务

    1. 安装好的 nginx 服务在 /usr/local/nginx 下:
    2. 进入 /usr/local/nginx/sbin 目录下启动:
    3. # 启动
    4. ./nginx
    5. # 重启
    6. ./nginx -s reload
    7. # 关闭
    8. ./nginx -s stop
    9. # 或者,指定配置文件启动
    10. ./nginx -c /usr/local/nginx/conf/nginx.conf
    11. 其它:
    12. yum install lsof(给来查询端口占用)
    13. lsof -i:80
    14. kill -9 pid

    5)开启80端口 

    1. #开放端口
    2. firewall-cmd --zone=public --add-port=80/tcp --permanent
    3. #更新防火墙规则
    4. firewall-cmd --reload
    5. #防火墙列表
    6. firewall-cmd --zone=public --list-ports

     现在已经安装好了,但不过我们重启就nginx就关闭了,不会自启动

    6)配置nginx自启动

    1. vim /etc/rc.d/rc.local
    2. 把服务目录配置进去
    3. /usr/local/nginx/sbin/nginx

    7)修改/etc/rc.d/rc/local的权限

    1. cd /etc/rc.d/
    2. chmod 755 rc.local

    二、后端部署

    2.1多个tomcat负载均衡

    首先先去准备tomcat,我这边在tomcat的根目录,复制了两个,一个是8081,一个是8082

     cd /切换到8081的/conf/,这个上面我们说了,这个是用来配置环境文件的

    进入后我们输入 vim server.xml 去修改端口号,所有的端口都不能重复,所以在修改端口号中只要看到这种有数字的就往上加1就好了,下面要修改3个地方

     都改好后,就开发8081、8082端口

    1. #开发端口
    2. firewall-cmd --zone=public --add-port=8081/tcp --permanent
    3. firewall-cmd --zone=public --add-port=8082/tcp --permanent
    4. #更新防火墙规则
    5. firewall-cmd --reload
    6. #防火墙列表
    7. firewall-cmd --zone=public --list-ports

    去测试一下是否可以连上8081、8082

     

    2.2 负载均衡 

    配置负载均衡

    1)首先先切换到Nginx服务目录 cd /usr/local/nginx/conf/ 

    2)在这里面有一个文件 nginx.conf,但是不建议vim修改

    pwd查看当前路径,然后cp到上面的输入框中找到nginx.conf,双击进去编辑

    3)放入这个集群,负载均衡就配置好了,可以看到这里我们是配置了3个tomcat 

    1. upstream tomcat_list { #服务器集群名字
    2. server 127.0.0.1:8080 weight=1; #服务器1 weight是权重的意思,权重越大,分配的概率越大。
    3. server 127.0.0.1:8081 weight=1; #服务器2 weight是权重的意思,权重越大,分配的概率越大
    4. server 127.0.0.1:8082 weight=1; #服务器3 weight是权重的意思,权重越大,分配的概率越大
    5. }

    4) 反向代理

    proxy_pass   http://tomcat_list;

    5)配置好了以后只需要做一件事,把我们的nginx重启一下 

    ./nginx -s reload
    

    测试Nginx负载2个tomcat的效果

    1. # 来回切换tomcat:8080、tomcat:8081两个服务器的类容
    2. http://192.168.195.139/
    3. # 停掉1个tomcat
    4. 发现还是可以访问项目

    现在我们可以去测试一下,我们不需要输入端口号就自动访问的tomcat,会在3个端口中选择一个端口进入,当然你们也可以自己去测试一下,把其中的一个tomcat停了,看它是否还能进入tomcat

    2.3 后端项目部署

    1)把我们后端项目,cp到/usr/local/java/apache-tomcat-8.5.20/webapps当中

    注意!是把所有端口都放一个后端项目,否则弄了负载均衡也没用到

    2)把我们sql脚本导入到mysql连接工具当中,新建数据库,数据库名字需要根据项目使用的数据库名字统一,右键运行SQL文件,刷新就好了

    3)接下来我们重启tomcat

    回到tomcat的bin目录下,需要先把每个tomcat停掉,在依次重新启动一下./startup.sh

    这样我们后端项目就部署成功了

    三、前端部署

    1.解压前端

    在/usr/local下创建一个文件夹并进入,把项目前端放到里面,再解压

    我们在cd /usr/local,创建mkdir mypro文件夹,我们把前端项目丢到mypro里面

     现在要进行解压,但是我们没有unzip所以需要下载

    yum install -y unzip

    下载完成后,解压

    unzip blog.zip

    2.Nginx配置文件修改

    1.首先先切换到Nginx服务目录 cd /usr/local/nginx/conf/ 

    2.在这里面有一个文件 nginx.conf,但是不建议vim修改

    3.pwd查看当前路径,然后cp到上面的输入框中找到nginx.conf,双击进去编辑

    4.把这些代码放入进去

    1. server {
    2. listen 80; #监听80端口,可以改成其他端口
    3. #server_name localhost; #当前服务的域名
    4. server_name www.zking.com; #当前服务的域名(虚拟域名也可以)
    5. root /usr/local/mypro/dist; #将要访问的网站的根目录,nginx节点会自动继承父节点的配置;这里放到/usr/local/*,放到其他路径下会有权限相关问题;必要的时候配置Nginx.conf的user为root
    6. # 代理配置
    7. location / {
    8. #该句代码是为解决history路由不能跳转的问题,在vue-router官网有介绍
    9. try_files $uri $uri/ /index.html;
    10. }
    11. location ^~/api/ {
    12. #^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除api
    13. proxy_pass http://tomcat_list/;
    14. }

    3.IP域名映射 

    C:\Windows\System32\drivers\etc\hosts中增加映射关系

    4.重启Nginx服务

    1. [root@localhost java]# cd ../sbin
    2. ./nginx -s reload

    用户:zs 密码:123

     这样就好啦,今天就到这里 

  • 相关阅读:
    vue-前端实现模糊查询
    Redis原理:IntSet
    客服支持Chatbot提供即时回答,改善用户体验
    全数字仿真测试平台V-Sim TP
    app小程序手机端Python爬虫实战07UiSelector通过resourceId、层级定位方式
    用VScode做PPT:marp插件
    国际专线物流优势与劣势分析
    创建commons和cart模块
    第1章 Java、IDEA环境部署与配置
    C++菜鸟日记2
  • 原文地址:https://blog.csdn.net/2302_76638140/article/details/136282849