withero 发表于 2017-11-3 14:59:48

【折腾】使用Docker安装LNMP建站 无80端口 用443端口https访问

本帖最后由 withero 于 2017-11-8 14:45 编辑

2017-11-08 昨天发现443根本没有封掉,建好了网站大家试试吧。https://www.snhome.cn

2017-11-06 443好像也被封了,没有被封的可以试试

文章先写在自己的blog里,这里转发 ,原文 https://www.helup.com/309.html

自己使用群晖搭建网站的过程,成功案例 https://img.helup.com/wp-content/themes/IPHP/images/smilies/icon_smile.gif ,不多描述其它系统有Docker的适用。见图群晖安装Docker
打开套件中心,左侧 全部 中在最下方第三方列表内找到Docker安装https://img.helup.com/wp-content/uploads/2017/11/helup.com_2017-11-03_112035.pngDocker中安装LNMP
打开Docker首先设置存储库为Aliyun Hub,不然会慢的让你放弃,
点开左侧注册表,打开设置,如下图
https://img.helup.com/wp-content/uploads/2017/11/helup.com_2017-11-03_112708.png设置好后,在搜索框查找lnmp1.3-php7.0.7-centos6.7,这个是maxwhale制作的(GitHub),选中下载。
https://img.helup.com/wp-content/uploads/2017/11/helup.com_2017-11-03_133656.png
下载完成后在 映像 中就能找到,选中并启动,弹窗内点击高级设置就行定制
https://img.helup.com/wp-content/uploads/2017/11/helup.com_2017-11-03_134007.png
高级选项卡中定义卷和端口设置两项:
https://img.helup.com/wp-content/uploads/2017/11/helup.com_2017-11-03_134439.png
按照上图定义保存,下一步应用即可。
PS:因为是家庭NAS建站,宽带80基本上都不能用了,所以要添加443端口,用https访问。
查看LNMP是否正常启动
https://img.helup.com/wp-content/uploads/2017/11/helup.com_2017-11-03_142819.png
管理Docker中的LNMP
这一步遇到了问题,虽然22端口已经映射,但不能通过WinSCP连接,连接时闪退,只能用间接的方法管理。
WinSCP登录群晖,进入putty,或者直接进putty,我习惯了这样用。下面就看说话吧
https://img.helup.com/wp-content/uploads/2017/11/helup.com_2017-11-03_144013.png

[*]docker ps   //列出容器,获得CONTAINER ID
[*]docker exec -it 3b6ec4343647 /bin/bash //使用容器ID(3b6ec4343647)进入容器管理
[*]

之后就可以用LNMP的相关功能来管理了。
https://img.helup.com/wp-content/uploads/2017/11/helup.com_2017-11-03_145001.png
LNMP使用方法见:http://lnmp.org
随后更新证书安装以及https访问设置


muzil 发表于 2017-11-3 16:42:30

谢谢分享,收藏备用

zhughe 发表于 2017-11-3 21:13:07

装个虚拟机 装个ubuntu server 随便折腾。。。

wjq_xp 发表于 2017-11-4 00:45:03

不错的方案,谢谢分享

woshiwaxiu 发表于 2017-11-4 06:21:10

谢谢分享,收藏备用

qdfqj 发表于 2017-11-4 16:16:28

不错的方案,谢谢分享.非常期待随后的文章。。。。。。。。。。。。。。。。。

tvrcfdfe 发表于 2017-11-6 09:14:54

谢谢分享 6666666

觅凤的梧桐 发表于 2017-11-6 09:32:32

话说你443,还能打得开?

withero 发表于 2017-11-6 10:03:19

觅凤的梧桐 发表于 2017-11-6 09:32
话说你443,还能打得开?

好吧,教程弄到一半才知道我的443也不能用了。

xmu714 发表于 2017-11-6 11:26:36

web station 直接部署不是更简单

withero 发表于 2017-11-8 14:52:18

简单更新下,443还是能用的。

LNMP先增加虚拟主机 :lnmp vhost add
方法见相关说明。
在腾讯云申请证书,
解压得到4个证书文件夹:Apache、IIS、Nginx、Tomcat,我们用的是Nginx。
把Nginx中的两个文件复制到虚拟机配置文件/usr/local/nginx/conf/vhost
修改这个文件夹下相应的主机配置文件如www.snhome.cn.conf
增加下面紫色文件部分内容即可。

server
    {
      listen 80;
      #listen [::]:80;
      server_name www.snhome.cn snhome.cn *.snhome.cn;
      index index.html index.htm index.php default.html default.htm default.php;
      root/home/wwwroot/www.snhome.cn;

      include wordpress.conf;
      #error_page   404   /404.html;

      # Deny access to PHP files in specific directory
      #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

      include enable-php.conf;

      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
      {
            expires      30d;
      }

      location ~ .*\.(js|css)?$
      {
            expires      12h;
      }

      location ~ /.well-known {
            allow all;
      }

      location ~ /\.
      {
            deny all;
      }

      access_log off;
    }

#以下为增SSL
server
    {
      listen 443 ssl http2;
      #listen [::]:443 ssl http2;
      server_name www.snhome.cn snhome.cn *.snhome.cn;
      index index.html index.htm index.php default.html default.htm default.php;
      root/home/wwwroot/www.snhome.cn;
      ssl on;
      ssl_certificate /usr/local/nginx/conf/vhost/1_www.snhome.cn_bundle.crt;
      ssl_certificate_key /usr/local/nginx/conf/vhost/2_www.snhome.cn.key;
      ssl_session_timeout 5m;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_prefer_server_ciphers on;
      ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
      ssl_session_cache builtin:1000 shared:SSL:10m;
      # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
      ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

      include wordpress.conf;
      #error_page   404   /404.html;

      # Deny access to PHP files in specific directory
      #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

      include enable-php.conf;

      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
      {
            expires      30d;
      }

      location ~ .*\.(js|css)?$
      {
            expires      12h;
      }

      location ~ /.well-known {
            allow all;
      }

      location ~ /\.
      {
            deny all;
      }

      access_log off;
    }
页: [1]
查看完整版本: 【折腾】使用Docker安装LNMP建站 无80端口 用443端口https访问