欢迎光临
我们一直在努力

Linux VPS建站工具LNMP 1.4安装与使用-SSL自动配置续期和多版本PHP支持

很多人害怕用Linux VPS建站的原因,不外乎两个原因:一个是不知道如何使用Linux,第二个就是习惯了使用面板管理。但是从部落自己的建站经验来看,VPS建站最好还是不要用面板,使用LNMP这类的一键安装包定制性和实用性更强。
与自己配置Web环境不同的是,LNMP一键安装包差不多就是一个集成工具了,只要使用几行命令就可以快速搭建Nginx/MySQL/PHP/Apache。不会Linux的站长或Linux新手想使用Linux作为生产环境,建议前期花一点学习一下命令,后面维护就简单了。
本文要分享的LNMP一键安装包来自lnmp.org,建站的朋友都应该听过或者使用过它,基本上lnmp.org已经成为了LNMP代名词,稳定且不断更新。目前LNMP 1.4增加了PHP 7 和多PHP版本共存、Let’s Encrypt自动部署与续期、http2支持等几个亮点。

更多的关于服务器、邮件邮件和建站经验方面的,可以看看:

  1. 利用MailChimp建立RSS邮件订阅平台-每月免费12000封邮件可加2000用户
  2. 服务器虚拟化面板SolusVM安装与使用-支持新建管理OpenVZ, KVM和Xen VPS
  3. 再见-那段8年的部落之旅,你好-即将开始未知的坚持:挖站否?

一、LNMP 1.4快速安装方法
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS、Debian、Ubuntu、Raspbian或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。
1.1 LNMP 1.4安装要求
LNMP 1.4官网:https://lnmp.org/,每年的6月1号会进行一次大的版本升级,大家可以关注官网的动态。
LNMP 1.4安装主要有以下几点注意事项:

需要5GB以上硬盘剩余空间 。
需要128MB以上内存(如果为128MB的小内存VPS,Xen的需要有SWAP,OpenVZ的至少要有128MB以上的vSWAP或突发内存)。
安装MySQL 5.6或5.7及MariaDB 10必须1G以上内存。

1.2 LNMP 1.4安装命令
LNMP 1.4安装命令其实只有几行,大部分时间都交由脚本自动下载与配置,命令如下:

screen -S lnmp
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

注意:默认安装lnmp可不写,如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。如需更改网站和数据库目录先修改安装包目录下的 lnmp.conf 文件。
1.3 LNMP 1.4安装过程
运行LNMP 1.4一键安装时,首先会要你选择MysqL版本和设置一个MysqL密码。

然后是问你要不要安装PHP,以及数PHP本号。如果你的程序兼容最新的,请选择7.0和7.1以上,因为根据测试7.0以上的PHP性能有质的提升。

最后就是耐心地等待LNMP 1.4安装完成了,耗时至少要半个小时以上。安装完成后,当你看到如下界面就表示已经成功了。

打开你的IP地址,你就可以看到LNMP默认的首页了。该页面已经有了探针、PHPmyAdmin、扩展组件等链接,你可以直接点击查看。

二、LNMP 1.4管理网站与SSL证书
LNMP 1.4配置SSL是在创建网站时自动申请Let’s Encrypt证书并配置的,所以如果你打算使用SSL证书的话建议你在创建网站时就申请好。当然,如果在创建网站时忘记了,你也可以自己修改Nginx代码,这个稍后再讲。
2.1 LNMP 1.4创建网站
首先你需要进入到LNMP解压目录中,因为这些命令都在这个目录当中。然后执行命令:lnmp vhost add。接下来会要你绑定网站域名、网站根目录(可以直接回车)、URL重写规则(默认有WP、DZ可选)、以及是否开启日志。

2.2 LNMP 1.4自动安装SSL
要想让LNMP 1.4自动安装Let’s Encrypt证书,你需要先将自己的域名解析到你的VPS主机。

然后回到刚刚创建网站的界面,设置数据库名称和用户名、密码,在是否设置SSL证书时选择是,然后选择Let’s Encrypt证书。

稍等一会儿,LNMP 1.4就已经自动创建好了网站,同时也自动部署好了SSL证书了。

用浏览器打开域名,你就可以看到域名已经成功访问并上了SSL证书了。

三、安装memcached等附加组件
LNMP 1.4默认的并没有安装memcached等缓存,我们需要自己手动安装。执行命令:./addons.sh,然后你就可以eAccelerator、 XCache、Memcached、opcache、Redis、apcu、imageMagick、 ionCube Loader等共8个附加组件可以一键安装。

安装好了后,你就可以在LNMP探针中查看是否已经成功。

opcache安装成功后,LNMP已经有了一个网页查看工具,打开IP+ocp.php,你就可以看到自己的opcache缓存情况了。opcache是PHP官方的缓存插件,建议安装PHP 7以上的配备,效果非常好。

如果来查看memcached是否成功使用呢?一个方法就是下载一个memcached网页工具:http://pecl.php.net/get/memcache-3.0.8.tgz,备用:https://www.ucblog.net/memcache-3.0.8.tgz。解决找到memcache.php这个文件,然后打开修改登录名与密码,同时添加127.0.0.1服务器,把其它的服务器注释掉。

将memcache.php文件上传到你的网站根目录,接着用浏览器打开访问,输入你账号设置的账号与密码,这时你就可以直观看到自己的网站的memcached是否已经启用,memcached缓存的命中率是多少,也可以在线重置memcached缓存。(点击放大)

另一个方法就是直接使用命令查看。输入:telnet 127.0.0.1 11211,看如下图时再输入:stats,就可以进入到memcached连接了。

命令会详细列出memcached的信息,包括了总缓存大小,已经命中次数,未命中次数,你只需要将已命中次数除以总缓存大小得到的结果就是memcached命中率了。相关说明如下:

STAT pid 22972
STAT uptime 709
STAT time 1497577962
STAT version 1.4.36
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.200000
STAT rusage_system 0.084000
STAT curr_connections 5
STAT total_connections 13
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 5 #总共获取次数
STAT cmd_set 3
STAT cmd_flush 1
STAT cmd_touch 0
STAT get_hits 3 #已命中次数
STAT get_misses 2 #没有命中次数
STAT get_expired 0
STAT get_flushed 1
STAT delete_misses 0
STAT delete_hits 1
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 305
STAT bytes_written 8111
STAT limit_maxbytes 67108864 #缓存大小
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT bytes 0 #当前使用多少缓存
STAT curr_items 0
STAT total_items 3
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0

使用此命令可以清空缓存:stats reset。要退出 telnet,输入组合键 Ctrl+] 出现telnet>,然后输入 q 即可退出。
四、LNMP 1.4建站的几个问题
LNMP 1.4的安装包里会一个Tools工具,这里有备份脚本 backup.sh,nginx日志切割脚本 cut_nginx_logs.sh,SSH防护安装脚本denyhosts.sh 和 fail2ban.sh,MySQL/MariaDB root密码重装工具 reset_mysql_root_password.sh及PHP函数辅助删除工具 remove_disable_function.sh。

4.1 网站文件与数据库备份
打开backup.sh,然后修改你要备份的网站路径,支持添加多个网站,目录用双引号括起来,多个目录空格隔开。要备份数据库的话,把数据库的名称还有Root的密码填写进去。mysqldump路径保持不变,如果是mariadb替换/usr/local/mysql为/usr/local/mariadb。

修改好了后,重新上传backup.sh,然后进入该目录执行命令:./backup.sh,即实现手动备份。

如果你想实现定时备份,你需要将该路径下的命令添加到定时任务中,执行:crontab -e,输入以下命令保存表示每天凌晨1点开始自动备份:

00 01 * * * /bin/bash /root/lnmp1.4/tools/backup.sh

4.2 日志切割并自动删除日志
如果你开启了日志,那么随着时间的推移,你的日志文件会越来越大,有的甚至可以达到几十个GB,这很容易占用大量的服务器空间。LNMP 1.4有日志切割工具,自动把每天的日志按照时间划分,并设置过期时间自动删除日志。
打开cut_nginx_logs.sh,编辑你要切割的日志名称,保存再次上传。

执行:crontab -e,输入以下命令保存表示每天凌晨2点开始自动切割日志。

00 02 * * * /bin/bash /root/lnmp1.4/tools/cut_nginx_logs.sh

日志会按照日期来分类的,默认的是过期3天,3天后会自动删除日志。你也可以自己设置好保留的时间。

4.3 LNMP 1.4 PHP多版本
多PHP版本只支持LNMP模式,LNMPA、LAMP模式下不支持。要使用多PHP先安装多PHP版本,在lnmp1.4源码目录下运行:./install.sh mphp,然后选择你要安装的PHP版本就好了。

已安装好多PHP版本的话,lnmp vhost add 时会在设置完日志名称后提示当前已经存在的PHP版本,按提示的数字选择就可以。如果已经存在的虚拟主机要更改PHP为指定版本需要修改虚拟主机的配置文件。
配置文件为 /usr/local/nginx/conf/vhost/域名.conf ,将里面的include enable-php.conf; 替换为 include enable-php7.1.conf; 前面的7.1为php版本,可以根据自己的需要进行修改,但必须要对应的多php版本已经安装,要不然会提示502错误。
4.4 LNMP 1.4 做301跳转
强制http跳转到Https。默认,LNMP并没有自动配置好Http跳转到Https,你只需要进入:/usr/local/nginx/conf/vhost/域名.conf,打开域名配置文件,添加以下代码在listen 80那个server代码段中。

if ($ssl_protocol = "") { return 301 https://$host$request_uri; }

如下图:

强制www跳转到非www。不想使用www这样的域名,你可以强制将www跳转到非www上,同上在域名配置文件listen 443那个server代码添加以下代码:

if ($host != wzfou.com) {
 rewrite ^/(.*)$ $scheme://wzfou.com/$1 permanent;
 }

这里给出我的LNMP的域名配置文件,你可以参考此代码手动添加自己的SSL证书,或者设置301跳转。

server
 {
 listen 80;
 #listen [::]:80;
 server_name wzfou.com www.wzfou.com ;
 index index.html index.htm index.php default.html default.htm default.php;
 root /home/wwwroot/lnmp14.freehao123.info;
 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;
 if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
 {
 expires 30d;
 }
 location ~ .*\.(js|css)?$
 {
 expires 12h;
 }
 location ~ /.well-known {
 allow all;
 }
 location ~ /\.
 {
 deny all;
 }
 access_log /home/wwwlogs/lnmp14.freehao123.info.log;
 }
server
 {
 listen 443 ssl http2;
 #listen [::]:443 ssl http2;
 server_name wzfou.com www.wzfou.com;
 index index.html index.htm index.php default.html default.htm default.php;
 root /home/wwwroot/lnmp14.freehao123.info;
 ssl on;
 ssl_certificate /etc/letsencrypt/live/lnmp14.freehao123.info/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/lnmp14.freehao123.info/privkey.pem;
 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;
 if ($host != wzfou.com) {
 rewrite ^/(.*)$ $scheme://wzfou.com/$1 permanent;
 }
 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
 {
 expires 30d;
 }
 location ~ .*\.(js|css)?$
 {
 expires 12h;
 }
 location ~ /.well-known {
 allow all;
 }
 location ~ /\.
 {
 deny all;
 }
 access_log /home/wwwlogs/lnmp14.freehao123.info.log;
 }

五、 总结
LNMP 1.4是一个快速搭建PHP\MysqL\Nginx的好工具,虽然说LNMP 1.4支持安装Apache,还可以选择LAMP和LNMPA模式,但是经过我的测试,还是选择LNMP模式无论是后期维护还是优化升级都要好一些。
LNMP 1.4支持的缓存插件很多,但是建议你不要安装太多的缓存插件,只选择一个就好。PHPMyAdmin目录强烈建议将此目录重命名为其不容易猜到的名字,phpmyadmin可自己从官网下载新版替换。

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Linux VPS建站工具LNMP 1.4安装与使用-SSL自动配置续期和多版本PHP支持》
文章链接:https://www.adaigou.net/shiyong/8345.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

'); })();