群晖使用Docker安装nginx 释放群晖80,443端口 使用群晖自带nginx
一、更改设置释放群晖NAS的80端口
1、ssh方式登录进你的群晖NAS(root)
2、修改文件server.mustache 80改8080 443改4430
vi /usr/syno/share/nginx/server.mustache
3、修改文件DSM.mustache 80改8080 443改4430
vi /usr/syno/share/nginx/DSM.mustache
4、修改文件WWWService.mustache 80改8080 443改4430
vi /usr/syno/share/nginx/WWWService.mustache
5、设置群晖自带反向代理服务器-进入-控制面板-登陆门户-高级-反向代理服务器
新增All 来源:协议:HTTP 端口81 目的地:协议:HTTP 主机名:localhost 端口:8081
新增All_https 来源:协议:HTTPS 端口444 目的地:协议:HTTPS 主机名:localhost 端口:4431
6、修改文件ReverseProxy.json 81改80 444改443 8081 4431不变
群晖更新系统会覆盖这三个文件,请重新修改,否则会出现升级后群晖File Station 与docker 无法启动(80端口被占用)
vi /usr/syno/etc/www/ReverseProxy.json
7、文件保存,重启生效。
8、打开DOCKER注册表搜索nginx
9、选择官方版。
10、双击nginx:latest下载。
11、点击下载好的镜像文件创建容器
12、勾选下启用自动重新启动
13、网络选择bridge 端口设置 本地端口8081 容器端口80 类型tcp
端口设置 本地端口4431 容器端口43 类型tcp
14、环境中我们新增一个时间,也就是TZ,设置为Asia/Shanghai,其实就是东八区时间
15、点击确定
16、通过SSH登陆进入容器 查看容器 查看镜像
docker ps -a
docker images
17、进入容器
docker exec -it ID(容器名) /bin/bash
18、编辑反代文件/etc/nginx/conf.d/default.conf
19、因为在容器里编辑不友好。所以先把容器的文件copy到系统,编辑好再copy到容器里。
20、使用方法
docker cp ID(容器名):/etc/nginx/conf.d/default.conf .
如:docker cp nginx:/etc/nginx/conf.d/default.conf .
这命令后边有个点不要丢了,意思就是复制到现在的目录。
然后输入 vim default.conf 编辑
改完后用这命令把文件复制回nginx容器
docker cp default.conf ID(容器名):/etc/nginx/conf.d/default.conf
如:docker cp default.conf nginx:/etc/nginx/conf.d/default.conf
在执行命令重启nginx
docker restart nginx
default.comf
server {
listen 80;
listen [::]:80;
server_name localhost;
location ^~ /v1/phiai/semantic/ {
proxy_pass http://10.10.9.241:1880/xiaoxunr1/;
}
}硬盘挂载 编辑/etc/fstab 文件
增加一条
UUID=自己硬盘的xxxxxxxxxxxxxxxxx /mnt ext4 defaults 0 0
命令行安装nginx
配置文件未挂载本地文件
docker run -d -p 8081:80 -p 4431:443 --name nginx --privileged=true --restart=unless-stopped -e TZ=Asia/Shanghai nginx:latest
配置文件挂载到本地文件
docker run -d -p 8081:80 -p 4431:443 \
--name nginx \
--privileged=true \
--restart=unless-stopped \
-e TZ=Asia/Shanghai \
-v /mnt/data-64G/docker/nginx/html:/usr/share/nginx/html \
-v /mnt/data-64G/docker/nginx//conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /mnt/data-64G/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /mnt/data-64G/docker/nginx/log:/var/log/nginx \
nginx:latest
备注:本地挂载文件夹 /mnt/data-64G/docker/nginx/html
容器内文件夹 /usr/share/nginx/html
本地挂载文件夹 /mnt/data-64G/docker/nginx/conf.d
容器内文件夹 /etc/nginx/conf.d
本地挂载文件夹 /mnt/data-64G/docker/nginx/log
容器内文件夹 /var/log/nginx
本地挂载文件 /mnt/data-64G/docker/nginx/conf/nginx.conf
容器内文件 /etc/nginx/nginx.conf
文件夹内一定要有文件,先建个临时nginx容器copy出文件
/usr/share/nginx/html/*.html
/etc/nginx/conf.d/default.conf
/etc/nginx/nginx.conf
感谢参考网站:https://cloud.tencent.com/developer/article/1923512
https://www.codeleading.com/article/41663610856/
