• docker部署springboot、springcloud、vue项目


    相关软件链接:

    一、初始化Linux运行springboot环境

    1、安装yum下载上传插件sz(下载)、rz(上传)安装

    yum install lrzsz -y
    
    • 1

    2、安装jdk11
    下载好后上传解压

    tar -zxvf jdk-11.0.12_linux-x64_bin.tar.gz 
    
    vim /etc/profile
    
    ##添加环境变量
    export JAVA_HOME=/opt/jdk-11.0.12
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export MAVEN_HOME=/opt/maven
    export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/opt/node-v10.22.1-linux-x64/bin:/opt/node-v10.22.1-linux-x64/lib/node_modules/cnpm/bin
    
    ##刷新环境变量
    source profile
    
    java -version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2、安装nginx
    Nginx安装配置菜鸟教程 runoob.com:https://www.runoob.com/linux/nginx-install-setup.html

    ##安装gcc依赖
    yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
    ##下载nginx安装包
    cd /usr/local/src
    wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
    ##如果没有wget先下下载vget
    yum -y install wget
    
    wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
    
    tar zxvf pcre-8.35.tar.gz
    
    cd pcre-8.35
    
    ./configure
    
    make && make install
    
    pcre-config --version
    
    cd /usr/local/src/
    
    wget http://nginx.org/download/nginx-1.6.2.tar.gz
    
    tar zxvf nginx-1.6.2.tar.gz
    
    cd nginx-1.6.2
    
    ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
    
    make
    
    make install
    
    /usr/local/src/
    
    cd /usr/local/src/
    
    cd nginx-1.6.2
    
    make install
    
    /usr/local/webserver/nginx/sbin/nginx -v
    
    /usr/sbin/groupadd www 
    
    /usr/sbin/useradd -g www www
    
    /usr/local/webserver/nginx/sbin/nginx -t
    
    /usr/local/webserver/nginx/sbin/nginx
    
    firewall-cmd --zone=public --add-port=80/tcp --permanent 
    
    firewall-cmd --reload
    
    firewall-cmd --zone=public --add-port=8848/tcp --permanent 
    
    firewall-cmd --reload
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60

    Nginx启动报错:

    [root@10-36-230-236 logs]# nginx -s reload
    nginx: [error] open() "/usr/local/webserver/nginx/logs/nginx.pid" failed (2: No such file or directory)
    
    • 1
    • 2

    执行 nginx -c /usr/local/webserver/nginx/conf/nginx.conf

    [root@10-36-230-236 logs]# nginx -c /usr/local/webserver/nginx/conf/nginx.conf
    [root@10-36-230-236 logs]# ps -ef | grep nginx
    root     13040  3785  0 09:26 pts/0    00:00:00 tail -f nginx.pid
    root     25376     1  0 09:59 ?        00:00:00 nginx: master process nginx -c /usr/local/webserver/nginx/conf/nginx.conf
    nobody   25377 25376  0 09:59 ?        00:00:00 nginx: worker process
    root     25386  3785  0 09:59 pts/0    00:00:00 grep --color=auto nginx
    [root@10-36-230-236 logs]# nginx -s reload
    [root@10-36-230-236 logs]# ps -ef | grep nginx
    root     13040  3785  0 09:26 pts/0    00:00:00 tail -f nginx.pid
    root     25376     1  0 09:59 ?        00:00:00 nginx: master process nginx -c /usr/local/webserver/nginx/conf/nginx.conf
    nobody   25427 25376  0 09:59 ?        00:00:00 nginx: worker process
    root     25435  3785  0 09:59 pts/0    00:00:00 grep --color=auto nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    nginx: invalid option: “-s relaod”

    [root@ecs-wlzckj02 sbin]# ./nginx -s relaod
    nginx: invalid option: "-s relaod"
    [root@ecs-wlzckj02 sbin]# nginx -c /usr/local/webserver/nginx/conf/nginx.conf
    -bash: nginx: command not found
    ##这个是在nginx的目录下,cd /usr/local/webserver/nginx/sbin/
    [root@ecs-wlzckj02 sbin]# ./nginx -s relaod
    nginx: invalid option: "-s relaod"
    [root@ecs-wlzckj02 sbin]# ps -ef | grep nginx
    root       822  1264  0 15:47 pts/0    00:00:00 grep --color=auto nginx
    [root@ecs-wlzckj02 sbin]# ./nginx -s relaod
    nginx: invalid option: "-s relaod"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3、安装node环境
    下载安装包:wget https://nodejs.org/dist/v10.22.1/node-v10.22.1-linux-x64.tar.xz
    解压:

    tar -xvf node-v8.11.3-linux-x64.tar.xz
    //注意: -xf 是解压 .tar.xz 包   而 -zxvf 是解压 .tar.gz包
    
    • 1
    • 2

    环境变量上面已经配置好,直接刷新环境变量

    source /etc/profile
    
    • 1

    4、linux安装maven

    [root@node2 ~]# wget -c --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.tar.gz
    [root@node2 ~]# tar -zxvf apache-maven-3.8.3-bin.tar.gz
    [root@node2 ~]# mv apache-maven-3.8.3 /usr/local/maven
    
    配置环境变量:
    
    [root@node2 ~]# vim /etc/profile
    ...
    export JAVA_HOME=/usr/local/jdk1.8.0_231
    export MAVEN_HOME=/usr/local/maven
    export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
    
    使配置生效:
    
    [root@node2 ~]# . /etc/profile
    
    验证mvn:
    
    [root@node2 ~]# mvn -v
    Apache Maven 3.8.3 (ff8e977a158738155dc465c6a97ffaf31982d739)
    Maven home: /usr/local/maven
    Java version: 1.8.0_231, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_231/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-1062.el7.x86_64", arch: "amd64", family: "unix"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    配置阿里镜像源本地仓库地址

    #在/usr/local下创建maven-repo 文件夹
    cd /usr/local
    mkdir maven-repo
    
    #编写maven配置
    vim /usr/local/maven/conf/settings.xml
    
    #在 <settings>标签下添加下面配置
    <localRepository>root/responsity</localRepository>
    
    #编写maven配置
    vim /usr/local/maven/conf/settings.xml
    
    #在 <mirrors>标签下添加下面配置
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    
    #保存退出
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    有条件的配置私服的配置:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
      <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>
      -->
      <localRepository>D:\repository</localRepository>
    
    
      <pluginGroups>
        <!-- pluginGroup
         | Specifies a further group identifier to use for plugin lookup.
        <pluginGroup>com.your.plugins</pluginGroup>
        -->
      </pluginGroups>
    
      <proxies>
    
      </proxies>
    
      <servers>
        
    	<server>
          <id>ncdg-nexus-release</id>
          <username>admin</username>
          <password>admin123</password>
        </server>
        <server>
          <id>ncdg-nexus-snapshots</id>
          <username>admin</username>
          <password>admin123</password>
        </server>
    	<server>
          <id>maven-public</id>
          <username>admin</username>
          <password>admin123</password>
        </server>
      </servers>
    
      <mirrors>
          
    	  
    	 <mirror>
          <id>maven-public</id>
          <name>maven-public</name>
          <url>http://61.164.136.50:8186/repository/maven-public/</url>
          <mirrorOf>*</mirrorOf>
        </mirror>
    	
      </mirrors>
    
      <profiles>
       
    	<!--jdk配置-->
    	<profile>
    		  <id>jdk-11</id>
    		  <activation>
    			<activeByDefault>true</activeByDefault>
    			<jdk>11</jdk>
    		  </activation>
    
    		  <properties>
    			<maven.compiler.source>11</maven.compiler.source>
    			<maven.compiler.target>11</maven.compiler.target>
    			<maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
    		  </properties>
    	</profile>
    
    
      </profiles>
    
      <activeProfiles>
         <!--需要激活 <profile>中的ID才生效--> 
    	 <!--<activeProfile>ncdg-nexus-release</activeProfile>-->
         <activeProfile>jdk-11</activeProfile>
      </activeProfiles>
    
    
    </settings>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84

    二、docker安装

    1、在线安装docker

    #查看centos版本 在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看
    [root@10-36-230-236 ~]# cat /etc/redhat-release
    CentOS Linux release 7.6.1810 (Core) 
    #查看系统内核版本
    [root@10-36-230-236 ~]# uname -r
    3.10.0-957.el7.x86_64
    #查看是否已安装docker列表
    [root@10-36-230-236 ~]# yum list installed | grep docker
    containerd.io.x86_64                 1.4.11-3.1.el7                 @docker-ce-stable
    docker-ce.x86_64                     3:20.10.10-3.el7               @docker-ce-stable
    docker-ce-cli.x86_64                 1:20.10.10-3.el7               @docker-ce-stable
    docker-ce-rootless-extras.x86_64     20.10.10-3.el7                 @docker-ce-stable
    docker-scan-plugin.x86_64            0.9.0-3.el7                    @docker-ce-stable
    #清除已安装的docker
    [root@10-36-230-236 ~]# sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    已加载插件:fastestmirror, langpacks
    参数 docker 没有匹配
    参数 docker-client 没有匹配
    参数 docker-client-latest 没有匹配
    参数 docker-common 没有匹配
    参数 docker-latest 没有匹配
    参数 docker-latest-logrotate 没有匹配
    参数 docker-logrotate 没有匹配
    参数 docker-engine 没有匹配
    不删除任何软件包
    #安装docker所需的依赖
    #依赖
    sudo yum install -y yum-utils   device-mapper-persistent-data   lvm2
    #镜像源
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    #依赖
    sudo yum install docker-ce docker-ce-cli containerd.io
    #启动docker
    sudo systemctl start docker
    #查看docker的状态
    systemctl status docker
    #镜像加速
    vim /etc/docker/daemon.json
    {"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
    #重新启动服务:
     sudo systemctl daemon-reload
     sudo systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    三、docker安装数据库

    1、docker安装mysql并初始化数据库

    mysql挂载配置文件和数据目录

    docker run --privileged=true --name mysql -d -it --restart=always --net=host -v /opt/mysql/data:/var/lib/mysql -v mysql.conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=test mysql --default-time-zone=+8:00 --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci  
    
    
    • 1
    • 2

    –restart=always 代表开启启动

    –privileged=true 代表进入容器内部为管理员身份

    -d 表示后台运行容器 并返回容器Id

    -v 把mysql产生的数据同步到本地 防止数据丢失

    -e 容器传参 设置mysql的初始密码

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    
    • 1

    mysql.conf : 标识符,直接挂载文件 -v /opt/mysql/conf:/etc/mysql/conf.d -v /opt/mysql/my.cnf:/etc/mysql/my.cnf会导致宿主机目录的覆盖掉容器目录,通过标识符将mysql容器目录的配置文件挂载出来。
    通过volume查询标识文件所处的位置

    [root@localhost mysql]# docker volume ls
    DRIVER    VOLUME NAME
    local     mysql.conf
    local     mysql.data
    [root@localhost mysql]# docker inspect mysql.conf
    [
        {
            "CreatedAt": "2022-06-02T10:29:34+08:00",
            "Driver": "local",
            "Labels": null,
            "Mountpoint": "/var/lib/docker/volumes/mysql.conf/_data",
            "Name": "mysql.conf",
            "Options": null,
            "Scope": "local"
        }
    ]
    [root@localhost mysql]# cd /var/lib/docker/volumes/mysql.conf/_data
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    2、docker安装redis单机版

    docker run --name redis -d -it --net=host -e TZ=Asia/Shanghai redis redis-server --requirepass 123456
    
    • 1

    docker操作redis

    #进入容器
    [root@yanglao-prod-1-223 setting]# docker exec -it redis /bin/bash
    #连接redis
    root@yanglao-prod-1-223:/data# redis-cli
    #AUTH 用户名 密码
    127.0.0.1:6379> AUTH abc123
    OK
    #查询key
    127.0.0.1:6379> get setting:all:map::allMap
    #删除key
    127.0.0.1:6379> del setting:all:map::allMap
    (integer) 1
    127.0.0.1:6379> get setting:all:map::allMap
    (nil)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3、docker安装消息队列

    #下载镜像
    docker pull webcenter/activemq
    
    docker run --name activemq -d \
    -p 8161:8161 \
    -p 61616:61616 \
    -p 61613:61613 \
    webcenter/activemq
    
    webcenter/activemq镜像启动没成功
    
    #使用下面这个镜像成功
    docker pull rmohr/activemq
    
    docker run --name my-activemq -d \
    -p 61616:61616 \
    -p 8161:8161 rmohr/activemq
    
    firewall-cmd --zone=public --add-port=5672/tcp --permanent
    firewall-cmd --zone=public --add-port=15672/tcp --permanent
    firewall-cmd --reload
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    四、部署开源项目

    以开源项目jeepay开源版为例:
    https://docs.jeequan.com/docs/jeepay/deploy

    1、将项目下载下来导入idea并修改配置:

    修改pom文件添加:

     <dependency>
             <groupId>javax.xml.bind</groupId>
             <artifactId>jaxb-api</artifactId>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    修改三个文件中build配置

    <!-- 作为可执行jar -->
        <build>
            <finalName>${project.artifactId}</finalName>
    
            <!-- resources资源配置项 -->
            <resources>
                <!-- 通用资源文件 -->
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*.*</include>
                    </includes>
                </resource>
    
                <!-- 放置通用配置yml文件, 开发时仅配置一套参数即可。   实际生产环境下应在每个项目下 与jar同级目录下新建application.yml覆写对应参数。  -->
                <resource>
    <!--                <directory>../conf/devCommons</directory>-->
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*.xml</include>
                        <include>*.yml</include>
                    </includes>
                    <filtering>true</filtering>
    <!--                <includes><include>**/*.yml</include></includes>-->
                </resource>
            </resources>
    
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
    
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                </plugin>
    
            </plugins>
        </build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    根据配置文件中选择的消息队列注释provide
    在这里插入图片描述
    修改三个配置文件application.yml
    在这里插入图片描述
    修改根目录的配置
    在这里插入图片描述
    修改三个配置文件的数据库配置、消息队列配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2、打包上传

    mvn clean package -Dmaven.test.skip=true -Ptest
    
    • 1

    将jar包上传到目录

    [root@yanglao-prod-1-223 opt]# ll /home/jeepay/service
    total 0
    drwxr-xr-x. 3 root root 81 Jun 10 16:29 manager
    drwxr-xr-x. 4 root root 57 Jun 16 08:39 merchant
    drwxr-xr-x. 4 root root 56 Jun 16 11:24 payment
    [root@yanglao-prod-1-223 opt]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    启动容器

    docker run --name jeepay-manager --net=host -it -d --restart=always -e TZ=Asia/Shanghai -v /home/jeepay/service:/home/jeepay/service -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime openjdk:11-jdk-oracle sh -c 'cd /home/jeepay/service/manager && java -Dfile.encoding=UTF-8 -jar jeepay-manager.jar --spring.profiles.active=prod'
    docker run --name jeepay-payment --net=host -it -d --restart=always -e TZ=Asia/Shanghai -v /home/jeepay/service:/home/jeepay/service -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime openjdk:11-jdk-oracle sh -c 'cd /home/jeepay/service/payment && java -Dfile.encoding=UTF-8 -jar jeepay-payment.jar  --spring.profiles.active=prod'
    docker run --name jeepay-merchant --net=host -it -d --restart=always -e TZ=Asia/Shanghai -v /home/jeepay/service:/home/jeepay/service -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime openjdk:11-jdk-oracle sh -c 'cd /home/jeepay/service/merchant && java -Dfile.encoding=UTF-8 -jar jeepay-merchant.jar  --spring.profiles.active=prod'```
    
    ## 3、**部署前端**
    上传dist文件
    
    ```bash
    [root@yanglao-prod-1-223 service]# ll /home/jeepay/html/
    total 0
    drwxr-xr-x. 6 root root 71 Jun 13 09:06 manager
    drwxr-xr-x. 6 root root 71 Jun 13 11:11 merchant
    [root@yanglao-prod-1-223 service]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    修改nginx配置:
    在这里插入图片描述

    [root@yanglao-prod-1-223 service]# cat /usr/local/webserver/nginx/conf/jeepay.conf 
    server
    {
        listen 19217;
        server_name localhost;
        index index.html index.htm ;
        root /home/jeepay/html/manager;
    
        #解决vue刷新404问题
        try_files $uri $uri/ /index.html;
    
        location /api/
        {
          
            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_pass http://localhost:9217;
        }
    
    }
    
    server
    {
        listen 19218;
        server_name localhost;
        index index.html index.htm;
        root /home/jeepay/html/merchant;
    
        #解决vue刷新404问题
        try_files $uri $uri/ /index.html;
    
        location /api/
        {
            
            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_pass http://localhost:9218;
            # 启用支持websocket连接
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    
    }
    server
    {
        listen 19216;
        server_name localhost;
        index index.html index.htm;
        root /home/jeepay/html/payment;
    
        location /
        {
            proxy_next_upstream http_502 http_504 error timeout invalid_header;
            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_pass http://localhost:9216;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
  • 相关阅读:
    创建型设计模式之抽象工厂模式
    Python基础语法(3)
    解决尚医通com.aliyun.oss 和com.aliyun 爆红
    docker镜像原理
    Python工程化管理:package包层次结构组织以及module模块详解
    torch.nn.init
    【prometheus】三种方式安装Prometheus
    ORM数据库操作
    cmake应用:集成gtest进行单元测试
    ISO三体系认证有哪些意义和好处?
  • 原文地址:https://blog.csdn.net/qq_45614471/article/details/125543276