0°

阿里云+LNMP1.4配置生产环境

又是一年儿童节,每年的6月1日是LNMP发布新版本的时候,今天发布了最新的1.4版本,我也正好遇到阿里云全民上云的活动,活动价330一年,买三年800元,我当然直接购买3年最实惠。

这次我使用最新的LNMP1.4和阿里云配置生产环境,目前本博客就是基于以上环境构建的。

首先,让大家了解一下最新版1.4的新增和更新了哪些东西:

2017年6月1日发布LNMP 1.4正式版

增加LNMP模式下多PHP版本安装,安装包目录下运行:./install.sh mphp 进行安装;
增加单独nginx安装,安装包目录下运行:./install.sh nginx 进行安装;
增加单独数据库安装,安装包目录下运行:./install.sh db 进行安装;
增加Let’s Encrypt自动生成证书和自备SSL证书支持;
增加不安装数据库选项;
增加多PHP版本下扩展安装支持;
增加ioncube php7的支持;
增加apcu php扩展;
增加PHP7.1支持;
增加lnmp管理脚本升级脚本,安装包目录下运行:./upgrade1.x-1.4.sh;
增加对中国用户的识别,使用国内源;
增加Amazon Linux、Linux Mint支持;
增加计算显示LNMP安装使用时间;
增加是否已安装LNMP判断,防止重复安装覆盖数据;
增加在已存在目录下安装数据库时先进行备份;
增加防跨目录配置文件移除脚本,安装包目录里tools目录下运行 ./remove_open_basedir_restriction.sh ;
lnmp管理脚本增加SSL选项,可以选择Let’s Encrypt或自定义证书和key文件,Letsencrypt每7天自动尝试续期;
lnmp管理脚本增加ftp账号信息显示;
lnmp管理脚本增加LNMP模式下添加虚拟主机时多PHP版本选择选项;
lnmp管理脚本去除add more domain name提示,添加直接输入域名,不添加直接回车;
lnmp管理脚本添加虚拟主机处理流程上的优化;
lnmp管理脚本增加多PHP状态管理支持;
lnmp管理脚本增加 lnmp ftp show 显示ftp账号信息;
lnmp管理脚本已存在虚拟主机SSL时可以直接lnmp ssl add 进行添加;
nginx默认使用openssl 1.0.2进行安装,以便更好的支持http2;
修复完善国内composer安装问题,国内能正常流畅的安装;
修复lnmpa/lamp模式下https问题;
修复arm下centos不存在libcurl依赖包的问题;
调整部分软件源码包格式为tar.bz2;
调整apache日志LogLevel为crit;
调整php模块的引入方式,使用with-config-file-scan-dir引入;
调整默认PHP版本调整为PHP 5.5;
调整国内外节点顺序,1,3,5 为国内节点(soft1.vpser.net 可调整数字),2,4,6,8 为国外节点(soft2.vpser.net 可调整数字);
调整默认虚拟主机不在使用www.lnmp.org域名,使用_代替;
增加lnmp.conf配置文件中nginx是否使用新版openssl编译安装选项;
增加LNMP模式下上传目录或不需php解析目录php禁止访问的实例代码,去掉注释修改其中目录重启nginx即可使用;
增加LNMP模式下的https实例配置文件:/usr/local/nginx/conf/enable-ssl-example.conf;
增加LNMPA模式下的https实例配置文件:/usr/local/nginx/conf/enable-lnmpa-ssl-vhost-example.conf;
增加LAMP模式下的https实例配置文件:/usr/local/apache/conf/enable-apache-ssl-vhost-example.conf;
增加PHP模块zts和non-zts自动识别;
添加Ubuntu 17.04支持;
php探针在php7下优化;
fastcgi.conf增加防跨目录的二次设置,移除参考:https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini ;
imagemagick增加webp格式支持;
去掉pureftp配置文件匿名模式下匿名用户上传权限;
防止误卸载,卸载脚本增加备份数据库目录;
优化pureftpd安装脚本,可单独在服务器进行安装;
优化nginx虚拟主机配置文件,增加对let’sencrypt目录的允许规则;
优化卸载脚本;
优化组件模块安装脚本;
优化部分启动脚本;
调整升级MySQL/MariaDB时my.cnf和启动脚本的位置到MySQL/MariaDB备份目录下;
调整优化fail2ban、denyhosts安装脚本;
诸多小的优化及调整……

 其次,我们开始用LNMP1.4在阿里云搭建环境

我使用的是1C1G1M40G的低配,用的是Debian8.6的32位系统,下面我们开始吧:

安装步骤:

如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除。
1、使用putty或类似的SSH工具登陆VPS或服务器;

登陆后运行:screen -S lnmp

如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装。

2、下载并安装LNMP一键安装包:

您可以选择使用下载版(推荐美国及海外VPS或空间较小用户使用)或者完整版(推荐国内VPS使用,国内用户可用在下载中找国内下载地址替换),两者没什么区别,只是完整版把一些需要的源码文件预先放到安装包里。深度/deepin只能使用服务器版,桌面版请勿安装!!另外:如果使用的是阿里云的专有网络的ECS,记得在安全组配置中开放443端口,否则SSL配置无法成功,切记!!!

安装LNMP1.4稳定版

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 文件。

如下载速度慢请更换其他下载节点。

运行上述LNMP安装命令后,会出现如下提示:

目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择!

输入对应MySQL或MariaDB版本前面的序号,回车进入下一步.

需要设置MySQL的root密码(不输入直接回车将会设置为root)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步,如下图所示:

询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,输入完成,回车进入下一步。

注意:选择PHP7等高版本时需要自行确认是否与自己的程序兼容。

输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化:

可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。

如果是LNMPA或LAMP的话还会提示“Please enter Administrator Email Address:”,(如下图)需要设置管理员邮箱,该邮箱会在报错时显示在错误页面上。

再选择Apache版本

按提示输入对应版本前面的数字序号,回车。

提示”Press any key to install…or Press Ctrl+c to cancel”后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

3、安装完成
如果显示Nginx: OK,MySQL: OK,PHP: OK

并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安装使用的时间及Install lnmp V1.4 completed! enjoy it.的话,说明已经安装成功。

安装完成接下来开始使用就可以了,接下去就需要添加虚拟主机,添加虚拟主机后可以使用sftp或ftp服务器上传网站代码,将域名解析到VPS或服务器的IP上,解析生效即可使用。

4、安装失败

如果出现类似上图的提示,有一个没安装成功表明安装失败!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,根据错误提示具体情况具体分析了。

5、添加网站(虚拟主机)

执行:lnmp vhost add 出现如下界面:

这里要输入要添加网站的域名,我们已添加www.vpser.net域名为例,如上图提示后输入域名 www.vpser.net 回车后提示

这里询问是否添加更多域名,直接再输入要绑定的域名,这里我们将 weishuzi.com 也绑上,不需要绑其他域名就直接回车。(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。

下面需要设置网站的目录

网站目录不存在的话会创建目录。也可以输入已经存在的目录或要设置的目录(注意如要输入必须是全路径即以/开头的完整路径!!!)。不输入直接回车的话,采用默认目录:/home/wwwroot/域名

伪静态可以使URL更加简洁也利于SEO,如程序支持并且需要设置伪静态的话,如启用输入 y ,不启用输入 n 回车。

默认已经有了discuz、discuzx、discuzx2(Discuz X二级目录)、wordpress、wp2(WordPress二级目录)、typecho、typecho2(Typecho二级目录)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex等常用的Nginx伪静态配置文件,可以直接输入名称进行使用,如果是二级目录则需要对应配置文件里的二级目录的名称。

这一步是设置日志,如启用日志输入 y ,不启用输入 n 回车。

如果启用需要再输入要设置的日志的名称,默认日志目录为:/home/wwwlogs/ 默认文件名为:域名.log 回车确认后,会询问是否添加数据库和数据库用户。

如果需要添加数据库输入 y ,不添加数据库输入 n 回车。

如果要添加,需要先验证MySQL的root密码(注:输入密码将不显示)
提示Enter database name: 后输入要创建的数据库名称,要创建的数据库用户名会和数据库同名,回车确认。

提示Please enter password for mysql user 数据库名: 后输入要设置的密码,回车确认。

如果安装了FTP服务器会询问是否添加FTP账号

如果需要添加输入 y ,不添加输入 n 回车。

提示Enter ftp account name: 后输入要创建的FTP账号名称,回车确认。
提示Enter password for ftp account FTP账号: 后输入要设置的密码,回车确认。

接下来是1.4新增的添加SSL功能

如果需要添加输入 y ,不添加输入 n 回车。
选择了添加SSL会提示

有两个选项,1 选项为使用自己准备好的SSL证书和key。

> > 提示Please enter full path to SSL Certificate file 后输入要SSL证书的完整路径和文件名,回车确认。
> > 提示Please enter full path to SSL Certificate Key file: 后输入输入要key文件的完整路径和文件名,回车确认。

2 选项为使用免费SSL证书提供商Letsencrypt的证书,自动生成SSL证书等信息。LNMP1.4的Letsencrypt证书已经帮你配置好,到期自动续期,完全无需人工干预。

需要输入一个邮箱回车确认。

提示 Press any key to start create virtul host… 后,回车确认便会开始创建虚拟主机。

添加成功会提示添加的域名、目录、伪静态、日志、数据库、FTP等相关信息,如下图:

至此,架设基本完成了,接下去你要做的是用ftp工具把你的php程序上传的目录文件夹中。

这次新版本LNMP1.4中最主要是添加了SSL的支持,你们可以通过https来访问你们的网站,我的博客是通过强制跳转https实现的,具体实现方法如下:

使用命令编辑器vi、nano或winscp图形管理软件编辑对应的虚拟主机,一般虚拟主机配置文件位于:/usr/local/nginx/conf/vhost/域名.conf ,如添加的域名是www.weishuzi.com则配置文件是/usr/local/nginx/conf/vhost/www.weishuzi.com.conf 在配置文件最后面加上如下红色代码:

server
{
listen 80;
#listen [::]:80;
server_name www.weishuzi.com weishuzi.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.weishuzi.com;
return 301 https://www.weishuzi.com$request_uri;

这样,别人用http://www.weishuzi.com访问网站就会自动跳转到https://www.weishuzi.com了。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论