欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tomcat+nginx+docker前后端分离工程部署

程序员文章站 2022-03-04 13:33:03
...

一、安装JDK

(1)下载地址:Java Downloads | Oracle 

下载jdk安装包jdk-8u171-linux-x64.tar.gz,在服务器上创建目录:mkdir -p /usr/local/java,并将jdk压缩包上传到该目录下,解压:tar -zxvf jdk-8u171-linux-x64.tar.gz 。如下图所示:

tomcat+nginx+docker前后端分离工程部署

(2)配置环境变量

vi /etc/profile

将如下配置添加至文件末尾:

export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

(3)使环境变量生效

source /etc/profile

二、安装mysql

(1)编辑配置文件my.cnf,添加配置如下:

[mysqld]
# 关闭only_full_group_by
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 允许最大连接数
max_connections=200
max_allowed_packet = 20M
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
default-time-zone='+08:00'
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
sync_binlog=2000
innodb_flush_log_at_trx_commit=2
innodb_buffer_pool_size = 4G
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
default-character-set=utf8

(2)Mysql安装过程详见:    

Linux下安装mysql-5.7.24_FinelyYang的专栏-CSDN博客_mysql-5.7.24-linux一 安装前准备1、检查是否已经安装过mysql,执行命令[[email protected] /]# rpm -qa | grep mysql从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令[[email protected] /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64再次执行查询命令,查看是否删除[[email protected] /]# rpm -qa.tomcat+nginx+docker前后端分离工程部署https://blog.csdn.net/xiaoxiangzi520/article/details/114302892?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163236015216780357237728%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163236015216780357237728&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-9-114302892.pc_v2_rank_blog_default&utm_term=mysql&spm=1018.2226.3001.4450  

三、安装tomcat

(1)下载apache-tomcat-8.5.70.tar.gz,上传到服务器/DATA目录,解压:tar -zxvf  apache-tomcat-8.5.70.tar.gz。

重命名 mv apache-tomcat-8.5.70  datastatistics-tomcat

(2)修改server.xml

cd /DATA/datastatistics-tomcat/conf

vim server.xml

因为同一台服务器上部署了两个tomcat,所以这里我们需要修改端口号避免冲突。

tomcat+nginx+docker前后端分离工程部署

tomcat+nginx+docker前后端分离工程部署

(3)部署后端服务

创建目录:mkdir -p /DATA/datastatistics-back

部署包上传到该目录下。

tomcat+nginx+docker前后端分离工程部署

注意:tomcat的webapps目录下不要拷贝war包进去。

vim server.xml

Host节点下:

 <Context path="" docBase="/DATA/datastatistics-back/datafusion.war" reloadable="false"/>

tomcat+nginx+docker前后端分离工程部署  

四、安装docker

 yum install -y docker-io

 启动docker:systemctl start docker

五、安装nginx

(1)拉取nginx镜像:docker pull nginx

(2)创建目录: mkdir -p /DATA/nginx

(3)创建nginx配置文件:vim /DATA/nginx/nginx.conf,加入如下内容:

 server {
        listen       8089;
        server_name  localhost 192.168.132.164

        location /datastatistics {
          proxy_set_header Host $host:$server_port;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_pass http://192.168.132.164:18080/;
          client_max_body_size 10m;
        }

        location /datastatistics-web {
           alias  /DATA/datastatistics-front/dist/;
           index  index.html index.htm;
           try_files $uri $uri/ /index.html =404;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {
           root   html;
        }
    }
}

注意192.168.132.164改为服务器的ip。

(4)运行容器: docker run --name nginx  -p 8089:8089  -d -v /DATA/nginx/nginx.conf:/etc/nginx/nginx.conf -v /DATA:/DATA --restart=always nginx

(5)防火墙开放8089和18080端口。

firewall-cmd --zone=public --add-port=8089/tcp --permanent

firewall-cmd --zone=public --add-port=18080/tcp --permanent

firewall-cmd --reload

六、部署前端工程

(1)创建目录:mkdir  -p /DATA/datastatistics-front

(2)上传压缩包dist.zip到该目录下,解压:unzip dist.zip