在群晖Docker里安装centos并安装nginx、ssh

先SSH到DSM
sudo -i
输入密码切换到root
在已经安装好docker的情况下输入
docker run -itd -p 9999:999 --name centos-vm  --hostname centos  --privileged=true centos:centos7 /usr/sbin/init
输入以下命令进入到容器centos-vm
docker exec -it centos-vm /bin/bash
更新下centos包
yum update
yum upgrade
安装常用的包和ssh
yum install -y yum-utils device-mapper-persistent-data lvm2 vim
yum install -y initscripts openssh-server openssl openssl-devel
vim /etc/ssh/sshd_config
# 找到"PermitRootLogin yes",取消这一行的注释,然后保存退出
修改密码
passwd root
service sshd restart
systemctl status sshd
安装宝塔面板
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
安装完宝塔面板后修改用户名密码端口为999且安全入口改为/logins
再从网页端登录宝塔面板安装Nginx
安装完成后可以在宝塔面板网页用ssh链接并看到Nginx已启动
关闭容器并导出备用
导出后再进行导入
并将源改为centos-web
版本号改为2023
再利用以下命令根据自己需要的端口进行操作
docker run -itd -p 80:80 -p 443:443 -p 9999:999 -p 33060:3306 -p 54320:5432 -p 8880:888 -p 22222:22 --name centos-nginx --hostname centos --privileged=true centos-web:2023 /usr/sbin/init
docker run -itd -p 80:80 -p 443:443 -p 9999:999 -p 22222:22 --name centos-nginx --hostname centos --privileged=true centos-web:2023 /usr/sbin/init

然后再进入该容器centos-nginx

docker exec -it centos-nginx /bin/bash

需手动开启NGINX

只能使用一次 如果包含80和443 重启centos ssh将会失效 。
不能重启DSM 、Docker 重启后需要手动进入docker终端机开启bt nginx等且权限有限 但是够用

bt再输入3回车

手动启动Nginx
/etc/init.d/nginx restart
重启群晖Docker服务
synoservice --restart pkgctl-Docker

启动后进入宝塔面板,设置一个带域名(如:jp.yiyilearning.com)的网站80端口代理到DSM主端口,例子如下,可以直接界面操作


#PROXY-START/

location ^~ /
{
    proxy_pass https://yiyilearning.com:88/;
    proxy_set_header Host yiyilearning.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
    
    
    set $static_fileYLIkKxbl 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
    	set $static_fileYLIkKxbl 1;
    	expires 1m;
        }
    if ( $static_fileYLIkKxbl = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

#PROXY-END/

那么就可以直接通过jp.yiyilearning.com访问DSM,配置ssl证书后可通过https://jp.yiyilearning.com/访问。

如果想要分享文件的时候也可以出直接不带端口的link直接在DSM下设置

DSM–控制面板–外部访问–主机名称输入刚才的域名(如:jp.yiyilearning.com)/HTTP80/HTTPS443即可

实现无端口访问

Leave a Reply

Your email address will not be published. Required fields are marked *