添加新的“网站”并配置 SSL
使用 lnmp vhost add
即可在服务器添加一个新的“网站”来绑定对应的域名。
这个“网站”(即 vhost)是对于 LNMP 来说的,既可以把既有的一个目录绑定到一个“网站”,也可以执行指令创建空目录。另外,移除一个“网站” lnmp vhost del
也不会删除本地文件。
接下来便按需设置各项参数即可。
abc@abc:~# lnmp vhost add +-------------------------------------------+ | Manager for LNMP, Written by Licess | +-------------------------------------------+ | https://lnmp.org | +-------------------------------------------+ Please enter domain(example: www.lnmp.org): www.abc.com Your domain: www.abc.com Enter more domain name(example: lnmp.org *.lnmp.org): abc.com domain list: abc.com Please enter the directory for the domain: www.abc.com Default directory: /home/www.abc.com: /home/ Virtual Host Directory: /home/ Allow Rewrite rule? (y/n) n You choose rewrite: none Enable PHP Pathinfo? (y/n) n Disable pathinfo. Allow access log? (y/n) y Enter access log filename(Default:www.abc.com.log): You access log filename: www.abc.com.log Create database and MySQL user with same name (y/n) n Create ftp account (y/n) n Add SSL Certificate (y/n) y 1: Use your own SSL Certificate and Key 2: Use Let's Encrypt to create SSL Certificate and Key Enter 1 or 2: 2 It will be processed automatically. Press any key to start create virtul host...
其中,通过 2. 可以实现多个域名同时指向一个网页,最后一步可以选择使用自己的 SSL 证书还是自动获取免费证书。
值得注意的是 3. 和 4. 。
3. Allow Rewrite rule? (y/n)
为伪静态设置。伪静态可以使 URL 更加简洁也利于 SEO ,如程序支持并且需要设置伪静态的话,如启用输入 y ,不启用输入 n 回车(注意 LNMPA 或 LAMP 模式没有该选择项!)。
默认已经有了 discuz 、 discuzx 、 discuzx2 (Discuz X 二级目录)、 wordpress 、 wp2 (WordPress 二级目录)、 typecho 、 typecho2 (Typecho 二级目录)、 sablog 、 emlog 、 dabr 、 phpwind 、 dedecms 、 drupal 、 ecshop 、 shopex 等常用的 Nginx 伪静态配置文件,可以直接输入名称进行使用,如果网站是在二级目录则需要修改对应伪静态文件里的二级目录的名称。
4. Enable PHP Pathinfo? (y/n)
则为询问是否启用 pathinfo ,只有极少数程序使用 pathinfo ,如基于 CI 框架的程序。常见的 wordpress 、 discuz x 等都不需要开启!不需要 pathinfo 的网站程序开启 pathinfo 会访问出现各种问题。
默认回车不启用,启用请输入 y 后回车。
配置网站自动跳转 Https://
LNMP 对于每个 vhost 的配置文件在下面的目录:
/usr/local/nginx/conf/vhost/
我们打开对应自己域名的文件,然后会看到一个类似下面这样的文件:
# Https部分 server { listen 443 ssl; … … } # Http部分 server { listen 80; … … }
在 Http 部分添加一行代码:
return 301 https://$server_name$request_uri;
保存后,重启 Nginx 即可。
lnmp nginx restart
为已有“网站”添加 SSL
执行 lnmp ssl add 即可为已有 vhost 添加 SSL 证书。
回车之后输入必要的信息:
- 输入域名,也就是你想添加 SSL 证书的域名。
- enter more domain 一般是指你这个网站绑定的其他域名,如果是其他网站,需要分别执行,不能在此输入。
- 输入网站目录。
- 选择是否需要伪静态。
- 选择是否开启网站日志。
- 选择是否开启 PHP Pathinfo
- 选择添加 SSL 证书的类型。
通告:Nginx 如何绑定多个域名? – 迪莫的Blog