1.自定义配置文件nginx.conf

user nginx; worker_processes auto;

error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;

events { worker_connections 1024; }

http { include /etc/nginx/mime.types; default_type application/octet-stream;

  1. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  2. '$status $body_bytes_sent "$http_referer" '
  3. '"$http_user_agent" "$http_x_forwarded_for"';
  4. access_log /var/log/nginx/access.log main;
  5. sendfile on;
  6. #tcp_nopush on;
  7. keepalive_timeout 65;
  8. #gzip on;
  9. include /etc/nginx/conf.d/*.conf; #对应下面的说明

}

  1. ps:有时候我们安装了nginx后发现配置文件只有一个,/etc/nginx/nginx.conf<br />所有的配置包括虚拟目录也在此文件中配置, 这样当虚拟主机多了管理就有些不方便了,<br />这是需要我们把配置文件拆分开来,在/etc/nginx/conf.d/ 文件建立对应的域名配置文件,比如 /etc/nginx/conf.d/123.com.conf
  2. <a name="H5Wqb"></a>
  3. #### a接下来来配置其他conf文件,例如:admin-conf.conf文件
  4. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12557124/1638012521066-309098cf-afbc-4ea9-b7d0-adf685551786.png#clientId=u79377097-3423-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=183&id=u7ed78280&margin=%5Bobject%20Object%5D&name=image.png&originHeight=366&originWidth=594&originalType=binary&ratio=1&rotation=0&showTitle=false&size=39020&status=done&style=none&taskId=u8c2614ce-1720-457b-b95d-4d0a6b8cbad&title=&width=297)

server { listen 80;#这里配置监听哪个端口号 server_name hz.baiinfo.com; #这里绑定域名(一个外网ip对应一个域名)ps:可以ping下那个域名查看外网ip

  1. #access_log logs/host_9527.access.log main;
  2. access_log off;
  3. error_page 500 502 503 504 /50x.html;
  4. location / {
  5. root /usr/share/nginx/html; #与Dockerfile路径对应上(docker-compose.yml文件数据挂载地址)
  6. index index.html index.htm;
  7. }
  8. location /contracts/ {#这里是自定义路径 绑定容器内 /opt/contracts/的路径
  9. alias /opt/contracts/; #alias设置资源路径别名
  10. autoindex on;
  11. autoindex_exact_size off;
  12. autoindex_localtime on;
  13. charset utf-8,gbk;
  14. autoindex_format html;
  15. }

}

  1. <a name="FzHaM"></a>
  2. #### b.关于Nginx文件路径配置
  3. 参考地址:[https://www.cnblogs.com/zh-dream/p/12909834.html](https://www.cnblogs.com/zh-dream/p/12909834.html)
  4. <a name="GyeVH"></a>
  5. #### 2.编写docker-compose.yml 文件

version: ‘3’ services: nginx: restart: always container_name: nginx image: nginx:stable-alpine ports:

  1. - 80:80
  2. volumes:
  3. - ./volume/dist:/usr/share/nginx/html
  4. - /opt/docker_springboot/kg-bussiness-contracts:/opt/contracts
  5. - ./volume/conf/admin-conf.conf:/etc/nginx/conf.d/default.conf
  6. privileged: true

``` 3.将前端vue项目dist包通过scp 命令上传 或者通过ftp工具上传至服务器./volume/dist的目录下
4.最后在docker-compose.yml 目录下 执行 docker-compose up -d 命令
5.最后验证下是否部署成功 直接访问外网ip:80 即可!

END

image.png