程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 高性能服务器 - Nginx

  • 项目部署

    • 带你从0认识云服务器
    • Docker部署SpringBoot项目
    • 华为云部署前后端分离项目
    • 腾讯云服务器部署Hexo博客
    • 宝塔部署前后端分离项目
    • Spring Boot应用打包与部署
    • 一键部署文件到远程服务器
    • Docker部署项目+环境安装
      • 1.docker的安装
      • 2.安装mysql
        • 方式1: 无挂载模式
        • 方式2: 数据卷挂载模式
      • 3.安装redis
      • 4.安装rabbitmq
      • 5.安装elasticsearch
      • 6.安装MaxWell
      • 7.填写yml文件
      • 8.打包运行后端项目
      • 9.打包运行前端项目
      • 10.安装并启动nginx
        • 方式1: http
        • 1. 拉取nginx镜像
        • 2. 修改配置文件
        • 3. 启动nginx
        • 方式2: https
        • 1. 拉取nginx镜像
        • 2. 修改配置文件
        • 3. 启动nginx
  • 服务器
  • 项目部署
scholar
2025-01-04
目录

Docker部署项目+环境安装

# 1.docker的安装

以下命令基于CentOS环境。

1、 下载工具

yum install -y yum-utils
1

2、 设置镜像的仓库

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #配置阿里云的镜像
1
2
3

3、 更新yum软件包索引

yum makecache fast
1

4、 安装docker相关配置

yum install docker-ce docker-ce-cli containerd.io
1

5、 启动docker

systemctl start docker
# 查看当前版本号,是否启动成功
docker version
# 设置开机自启动
systemctl enable docker
1
2
3
4
5

# 2.安装mysql

# 方式1: 无挂载模式

这种方式直接运行mysql之后,所有关于mysql的内容都在容器中,后续如果需要修改mysql的内容,需要手动进入容器内进行操作。且在宿主机上无备份,一旦容器被删除,数据也会被删除。

docker pull mysql #下载MySQL镜像
docker run --name mysql --restart=always -p 3306:3306 
-e MYSQL_ROOT_PASSWORD=密码 -d mysql # 启动MySQL
1
2
3

# 方式2: 数据卷挂载模式

在使用 Docker 运行 MySQL 时,数据卷挂载模式可以将容器内的关键目录映射到宿主机的指定目录。这种方式的优点是,你可以直接在宿主机上操作对应的文件,方便管理数据、日志和配置文件,同时也能确保容器的数据在宿主机上有备份。

1. 目录准备 首先,确保宿主机上有相关目录来存储 MySQL 的日志、数据和配置文件。例如,可以执行以下命令来创建所需的目录:

mkdir -p /usr/local/mysql/{data,logs,config}
sudo chmod -R 777 /usr/local/mysql  # 赋予文件权限
1
2

这个命令会在宿主机上创建以下三个目录:

  • /usr/local/mysql/data:用于存储 MySQL 数据文件
  • /usr/local/mysql/logs:用于存储 MySQL 日志文件
  • /usr/local/mysql/config:用于存储 MySQL 配置文件

2.运行 MySQL 容器

接下来,使用以下 docker run 命令启动 MySQL 容器,并通过 -v 参数将容器内的 MySQL 文件夹映射到宿主机的对应目录:

docker run --name mysql \
  --restart=always \
  -p 3306:3306 \
  -v /usr/local/mysql/log:/var/log/mysql \
  -v /usr/local/mysql/data:/var/lib/mysql \
  -v /usr/local/mysql/conf:/etc/mysql/conf.d \
  -e MYSQL_ROOT_PASSWORD=密码 \
  -d mysql
1
2
3
4
5
6
7
8

# 3.安装redis

docker pull redis # 下载Redis镜像
docker run --name redis  --restart=always -p 6379:6379 -d redis --requirepass "密码" # 启动Redis
1
2

# 4.安装rabbitmq

docker pull rabbitmq:management # 下载RabbitMQ镜像
docker run --name rabbit --restart=always -p 15672:15672 
-p 5672:5672  -d  rabbitmq:management   # 启动RabbitMQ,默认guest用户,密码也是guest。
1
2
3

# 5.安装elasticsearch

docker pull elasticsearch:7.9.2
1
mkdir -p  /home/elasticsearch/data/ 
mkdir -p  /home/elasticsearch/config/
1
2

1、 编写配置文件

echo 'http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*" '>>/home/elasticsearch/config/elasticsearch.yml
1
2
3

2、 修改文件夹权限

chmod -R 777 /home/elasticsearch/
ls -l # 查看文件权限
1
2

3、 启动elasticseach镜像

docker run --name elasticsearch -p 9200:9200 \
 -p 9300:9300 \
 -e "discovery.type=single-node" \
 -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
  -v /home/elasticsearch/config/elasticsearch.yml:/usr/shellare/elasticsearch/config/elasticsearch.yml \
 -v /home/elasticsearch/data:/usr/shellare/elasticsearch/data \
 -v /home/elasticsearch/plugins:/usr/shellare/elasticsearch/plugins \
 -d elasticsearch:7.9.2
1
2
3
4
5
6
7
8

接下来我们就是拿浏览器访问啦。

在浏览器上输入:服务器IP地址:9200

可能出现的问题:

1、 启动成功,但是访问失败的话,查看一下安全组中映射端口是否已经打开。如果是本地虚拟机,可能与防火墙相关(我用的云服务器,没有测试,如果有问题,还是需要大家自行去百度||谷歌一下)。

2、 -e ES_JAVA_OPTS="-Xms64m -Xmx128m":配置内存大小出现了问题。

3、 最后就还有可能是配置文件中出现了问题。

echo 'http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*" '>>/home/elasticsearch/config/elasticsearch.yml
1
2
3

http.host: 0.0.0.0 在冒号后面有一个空格的,这里的配置文件是yml格式,所以一定要严格按照yml格式来书写。

安装ik分词器

进入已经启动成功的elasticsearch容器。

docker exec -it elasticsearch /bin/bash
1
./bin/elasticsearch-plugin install 
https://github.com/medcl/elasticsearch-analysis-
ik/releases/download/v7.9.2/elasticsearch-analysis-ik-7.9.2.zip
1
2
3

ps: 安装的ik分词器的版本一定要与elasticsearch的版本保持一致

下载过程中如果遇到选择,直接输入 y回车就可以了。

下载完成之后,退出去,重新启动elasticsearch容器。

docker restart elasticsearch
1

测试ik分词器是否安装成功

安装完成后,我们再来进行测试遍,看看有什么样的变化。

postman post请求分词测试:http://服务器IP地址:9200/_analyze

{
	"tokenizer":"ik_smart",
	"text":"我爱技术"
}
1
2
3
4

结果

{
    "tokens": [
        {
            "token": "我",
            "start_offset": 0,
            "end_offset": 1,
            "type": "CN_CHAR",
            "position": 0
        },
        {
            "token": "爱",
            "start_offset": 1,
            "end_offset": 2,
            "type": "CN_CHAR",
            "position": 1
        },
        {
            "token": "技术",
            "start_offset": 2,
            "end_offset": 4,
            "type": "CN_WORD",
            "position": 2
        }
    ]
}
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

# 6.安装MaxWell

docker pull zendesk/maxwell # 下载MaxWell镜像
1
docker run --name maxwell --restart=always  -d  zendesk/maxwell 
bin/maxwell  --user='数据库用户名' --password='数据库密码'  --host='IP地址'  
--producer=rabbitmq --rabbitmq_user='MQ用户名' --rabbitmq_pass='MQ密码' 
--rabbitmq_host='IP地址' --rabbitmq_port='5672' 
--rabbitmq_exchange='maxwell_exchange'  --rabbitmq_exchange_type='fanout' 
--rabbitmq_exchange_durable='true' --filter='exclude: *.*, include: 
aurora.t_article.article_title = *, include: aurora.t_article.article_content = *, include: aurora.t_article.is_delete 
= *, include: aurora.t_article.status = *' # 运行MaxWell
1
2
3
4
5
6
7
8

注意:上述命令中aurora为数据库名称。


# 7.填写yml文件

此处省略,操作比较简单,就是配置一些简单的ip+端口+用户名+密码,前提是服务器上对应的端口已经打开

阿里云oss具体情况详见百度

QQ互联具体情况详见百度

这里就不赘述了

# 8.打包运行后端项目

1、 使用idea右侧Maven的package命令

2、 在服务器的/usr/local/下面创建名为docker的文件夹

3、 将打包好的jar包传到服务器上面的/usr/local/docker下面

4、 编写Dockerfile,同时将编写好的Dockerfile传输到服务器的/usr/local/docker下面

FROM openjdk:8

# 设置容器的临时目录
VOLUME /tmp

# 将本地的 JAR 包添加到 Docker 镜像中,命名为 app.jar
ADD springboot-0.0.1.jar app.jar

# 配置容器启动时的命令,指定 JAR 包
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
1
2
3
4
5
6
7
8
9
10

注意:Dockerfile文件只需要上传到指定目录下即可,不需要手动执行其他操作。

5、编写script-start.sh,同时将编写好的script-start.sh上传到服务器的/usr/local/docker下面

#!/bin/bash

# 配置路径和变量
SOURCE_PATH=/usr/local/docker  # 指定 Dockerfile 所在的目录路径
SERVER_NAME=springboot-0.0.1.jar  # 填写Docker 镜像的名称
TAG=latest  # 镜像的标签,通常使用 "latest" 作为默认标签
SERVER_PORT=8080  # 指定应用在容器内运行时的端口,也就是 Spring Boot 应用使用的端口

# 获取运行中的容器ID
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')

# 获取 Docker 镜像的ID
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')

# 停止并删除已经存在的容器(如果有)
if [ -n "$CID" ]; then
  echo "存在容器$SERVER_NAME,CID-$CID"
  docker stop $CID
  echo "成功停止容器$SERVER_NAME,CID-$CID"
  docker rm $CID
  echo "成功删除容器$SERVER_NAME,CID-$CID"
fi

# 删除已经存在的镜像(如果有)
if [ -n "$IID" ]; then
  echo "存在镜像$SERVER_NAME:$TAG,IID=$IID"
  docker rmi $IID
  echo "成功删除镜像$SERVER_NAME:$TAG,IID=$IID"
fi

# 构建新的 Docker 镜像
echo "开始构建镜像$SERVER_NAME:$TAG"
cd $SOURCE_PATH
docker build -t $SERVER_NAME:$TAG .

echo "成功构建镜像$SERVER_NAME:$TAG"

# 启动 Docker 容器
docker run --restart=always --name springboot-0.0.1.jar -d -p 8080:8080 springboot-0.0.1.jar:latest

echo "成功创建并运行容器$SERVER_NAME"
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

注意事项:

  • 使用 Notepad++ 或其他编辑器将 aurora-start.sh 文件转换为 Unix 格式。打开 Notepad++ 后,选择 编辑 -> 文档格式转换 -> 转为 Unix 格式。

上传该脚本文件到 /usr/local/docker/ 目录下。

6、构建 Docker 镜像

在服务器上,进入 /usr/local/docker 目录并执行启动脚本:

# 进入脚本所在目录
cd /usr/local/docker

# 执行启动脚本,构建 Docker 镜像并启动容器 (注意脚本名称随便命名)
sh script-start.sh
1
2
3
4
5

该脚本会:

  • 停止并删除之前运行的容器(如果存在)。
  • 删除已存在的 Docker 镜像(如果存在)。
  • 构建新的 Docker 镜像。
  • 使用新镜像启动一个新的 Docker 容器,并将容器的端口 8080 映射到主机的端口 8080。

7、启动 Docker 容器(可选)

如果你没有使用脚本自动启动容器,也可以手动启动 Docker 容器:

docker run --name springboot-0.0.1.jar -d -p 8080:8080 springboot-0.0.1.jar:latest
1

该命令会启动一个新的容器,将容器的 8080 端口映射到宿主机的 8080 端口。

8、访问应用

容器成功启动后,Spring Boot 应用应该会在服务器的 8080 端口上运行。你可以通过浏览器访问:

http://<服务器IP>:8080
1

确保防火墙和其他网络设置允许从外部访问该端口。


# 9.打包运行前端项目

1、打包前端项目

以 Vue.js 为例,首先需要将前端项目打包成静态文件。不同的前端框架(如 React、Vue、Angular 等)的构建方式有所不同,但一般都是通过 npm/yarn 来执行构建命令。

  1. 进入项目目录,确保你已经安装了项目依赖(使用 npm install 或 yarn install)。

  2. 运行打包命令:

    npm run build
    
    1

    或者如果你使用的是 Yarn:

    yarn build
    
    1
  3. 打包完成后,构建的静态文件会生成在项目的 dist 目录下。该目录下的文件是可以直接托管到 Web 服务器(如 Nginx)上的静态文件。

2、上传构建后的文件到服务器

将打包生成的 dist 目录下的文件上传到服务器上。

如果你的目标服务器是 Linux 服务器,可以使用 scp 命令上传构建文件:

scp -r ./dist user@server:/usr/local/your_project_name/
1

这样,所有的静态文件(如 HTML、CSS、JavaScript 文件)就会上传到 /usr/local/your_project_name/ 目录下。

3、配置 Nginx 来托管静态文件

后面安装完成ngin对照配置文件托管静态文件即可。

# 10.安装并启动nginx

# 方式1: http

# 1. 拉取nginx镜像

docker pull nginx
1

# 2. 修改配置文件

在/usr/local/nginx下创建nginx.conf文件,格式如下

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    client_max_body_size     50m;
    client_body_buffer_size  10m; 
    client_header_timeout    1m;
    client_body_timeout      1m;

    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_comp_level  4;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;

server {
        listen       80;
        server_name  前台域名;
     
        location / {		
            root   /usr/local/aurora-vue/blog;
            index  index.html index.htm; 
            try_files $uri $uri/ /index.html;	
        }
			
	location ^~ /api/ {		
            proxy_pass http://服务器ip:8080/;
	       proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;						
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
 
 # WebSocket代理配置
 # proxy_http_version 1.1 指定使用HTTP/1.1,这是WebSocket所必需的。
 # proxy_set_header Upgrade $http_upgrade; 和 proxy_set_header Connection "upgrade"; 
 # 这两行确保了升级HTTP连接到WebSocket的请求头被正确设置
       location ^~ /websocket {
            proxy_pass http://服务器ip:8080/websocket;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
		
    }
	
server {
        listen       80;
        server_name  后台子域名;
     
        location / {		
            root   /usr/local/aurora-vue/admin;
            index  index.html index.htm; 
            try_files $uri $uri/ /index.html;	
        }
			
	location ^~ /api/ {		
            proxy_pass http://服务器ip:8080/;
	    proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;						
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
		
    }
 }
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

# 3. 启动nginx

```sh
docker run --name nginx --restart=always -p 80:80 -d 
-v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf 
-v /usr/local/vue:/usr/local/vue nginx 
1
2
3
4

# 方式2: https

# 1. 拉取nginx镜像

docker pull nginx
1

# 2. 修改配置文件

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    client_max_body_size     50m;
    client_body_buffer_size  10m; 	  
    client_header_timeout    1m;
    client_body_timeout      1m;

    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_comp_level  4;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
	
server {

        listen  443 ssl;
        server_name  前台域名;

        ssl on;
        ssl_certificate ssl证书文件位置; 
	   ssl_certificate_key ssl证书文件位置; 
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

       location / {
            root   /usr/local/vue/blog;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
		
        location ^~ /api/ {
            proxy_pass http://服务器ip:8080/;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

 # WebSocket代理配置
 # proxy_http_version 1.1 指定使用HTTP/1.1,这是WebSocket所必需的。
 # proxy_set_header Upgrade $http_upgrade; 和 proxy_set_header Connection "upgrade"; 
 # 这两行确保了升级HTTP连接到WebSocket的请求头被正确设置
       location ^~ /websocket {
            proxy_pass http://服务器ip:8080/websocket;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }	

    }

server {

        listen  443 ssl;
        server_name 后台域名;

        ssl on;
        ssl_certificate ssl证书文件位置; 
        ssl_certificate_key ssl文件位置; 
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

       location / {
            root   /usr/local/vue/admin;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
		
        location ^~ /api/ {
            proxy_pass http://服务器ip:8080/;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
	
    }



server {
        listen       80;
        server_name  前台域名;
        rewrite ^(.*)$	https://$host$1	permanent;
		
    }
	
server {
        listen       80;
        server_name  后台域名;
        rewrite ^(.*)$	https://$host$1	permanent;
		
    }	
}
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

# 3. 启动nginx

docker run --name nginx --restart=always -p 443:443 -p 80:80 -d 
-v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf 
-v /usr/local/nginx/cert:/etc/nginx/cert 
-v /usr/local/aurora-vue:/usr/local/aurora-vue --privileged=true nginx
1
2
3
4
编辑此页 (opens new window)
上次更新: 2025/01/05, 02:09:04
一键部署文件到远程服务器

← 一键部署文件到远程服务器

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式