一,LNMP的安装
##先要下载,并根据不同系统进行安装: wget -c http://soft.vpser.net/lnmp/lnmp1.5.tar.gz tar zxvf lnmp1.5.tar.gz cd lnmp1.5 ./install.sh#开始进行安装操作
以上为下载及进入安装过程,以下为安装前简易设置,切记输入个其它域名及牢记MySQL的密码:
+ ------------------------------------------------- ----------------------- + | 用于CentOS Linux服务器的LNMP V1.5,由Licess撰写| + ------------------------------------------------- ----------------------- + | 在Linux上自动编译和安装LNMP / LNMPA / LAMP的工具 + ------------------------------------------------- ----------------------- + | 有关更多信息,请访问https://lnmp.org | + ------------------------------------------------- ----------------------- + 您有10个DataBase安装选项。 1:安装MySQL 5.1.73 2:安装MySQL 5.5.60(默认) 3:安装MySQL 5.6.40 4:安装MySQL 5.7.22 5:安装MySQL 8.0.11 6:安装MariaDB 5.5.60 7:安装MariaDB 10.0.35 8:安装MariaDB 10.1.33 9:安装MariaDB 10.2.14 0:不要安装MySQL / MariaDB 输入您的选择(1,2,3,4,5,6,7,8,9或0):#选择mysql版本默认为5.5.60 没有输入,你将安装MySQL 5.5.60 =========================== 请设置MySQL的root密码。 请输入:vpsmm.com#输入mysql的密码 =========================== 是否要启用或禁用InnoDB存储引擎? 默认启用,输入您的选择[Y / n]:n#是否安装InnoDB环境默认不需要whmcs之类特殊程序需求 您将禁用InnoDB存储引擎! =========================== 您有PHP安装的8个选项。 1:安装PHP 5.2.17 2:安装PHP 5.3.29 3:安装PHP 5.4.45 4:安装PHP 5.5.38 5:安装PHP 5.6.36(默认) 6:安装PHP 7.0.30 7:安装PHP 7.1.18 8:安装PHP 7.2.6 输入您的选择(1,2,3,4,5,6,7或8):8#默认php版本这里选择最新 您将安装PHP 7.2.6 =========================== Memory Allocator安装有3个选项。 1:不要安装Memory Allocator。(默认) 2:安装Jemalloc 3:安装TCMalloc 输入您的选择(1,2或3):1这个默认选择不安装即可 您将安装不安装内存分配器。 #按任意键,设置完成,正式进入安装,预计20〜40分钟完成
常见LNMP管理命令:
#1.2版本以后,不需要再执行/根/ LNMP了,可以在任意位置执行LNMP命令 lnmp#会出现一些提示信息 lnmp restart#重启 lnmp vhost add#添加网站绑定 lnmp数据库添加#添加数据库信息
其实所谓的域名绑定,就是通过命令的形式,简易创建一个CONF文件到的/ usr /本地/ nginx的/ CONF /虚拟主机下面,这个过程完全可以手工创建CONF,或者,平时修改目录,域名等,直接修改的conf文件,效果完全一样:
lnmp vhost add #exerow lnmp添加网站命令 + ------------------------------------------- + | LNMP经理,Licess撰写| + ------------------------------------------- + 请输入域名(例如:www.lnmp.org):vpsmm.com#输入绑定的主域名 ====================================== 您的域名:vpsmm.com ====================================== 您想添加更多域名吗?(y / n)y#是否绑定其它域名 输入域名(例如:lnmp.org * .lnmp.org):www.vpsmm.com#输入其它域名 域名列表:www.vpsmm.com 请输入域名目录:vpsmm.com (默认目录:/home/wwwroot/vpsmm.com):#默认创建的网站文件所在目录 虚拟主机目录:/home/wwwroot/vpsmm.com =========================== 允许重写规则?(Y / N) =========================== y#是否添加伪静态文件 请输入重写程序: wordpress,discuz,typecho,sablog,dabr重写是存在的。 (默认重写:其他):typecho#小夜用的typecho程序 =========================== 你选择rewrite = typecho =========================== =========================== 允许access_log?(Y / N) =========================== n#是否启用日志文件 ================================================== ==== 创建具有相同名称的数据库和MySQL用户(y / n) ================================================== ==== y#是否创建mysql数据库 验证您当前的MySQL root密码:****#输入安装时的mysql数据库root密码 警告:在命令行界面上使用密码可能不安全。 MySQL root密码正确。 输入数据库名称:vpsmm_user#创建数据库用户名 您将创建一个具有相同名称的数据库和MySQL用户:vpsmm_user 请输入mysql用户vpsmm_user:vpsmmpasswd的密码 您的密码:vpsmmpasswd#创建相应密码 按任意键开始创建虚拟主机... 创建Virtul主机目录...... 设置虚拟主机目录的权限...... 您选择存在的重写规则:/usr/local/nginx/conf/typecho.conf 优雅地关闭php-fpm。DONE 启动php-fpm完成 测试Nginx配置文件...... nginx:配置文件/usr/local/nginx/conf/nginx.conf语法没问题 nginx:配置文件/usr/local/nginx/conf/nginx.conf测试成功 重启Nginx ...... 警告:在命令行界面上使用密码可能不安全。 警告:在命令行界面上使用密码可能不安全。 用户vpsmm_user成功创建。 警告:在命令行界面上使用密码可能不安全。 警告:在命令行界面上使用密码可能不安全。 警告:在命令行界面上使用密码可能不安全。 数据库:vpsmm_user创建成功。 警告:在命令行界面上使用密码可能不安全。 警告:在命令行界面上使用密码可能不安全。 在vpsmm_user上成功获得所有权限。 警告:在命令行界面上使用密码可能不安全。 冲洗特权成功。 ================================================ 虚拟主机信息: 您的域名:vpsmm.com 主页目录:/home/wwwroot/vpsmm.com 重写:typecho 启用日志:否 数据库用户名:vpsmm_user 数据库用户密码:vpsmmpasswd 数据库名称:vpsmm_user 创建ftp帐户:没有 #以上为新创建网站的一些信息 ================================================
如果lnmp默认的伪静态规则不能满足你的需要,或者,你要自行定义伪静态规则,可以新建一个conf文件,放置于/ usr / local / nginx / conf下,在域名配置文件,即:/ usr /local/nginx/conf/vhost/legcloud.com.conf里引用。
服务器 { 听80; server_name legcloud.com www.legcloud.com; #绑定的域名 index index.html index.htm index.php default.html default.htm default.php; #首页文件 root /home/legcloud.com; #网站存放目录 包括wordpress.conf; #伪静态规则文件,可自定义成你需要的 location~. * \。(php | php5)?$ { try_files $ uri = 404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; 包括fcgi.conf; } location~. * \。(gif | jpg | jpeg | png | bmp | swf)$ { 到期30d; } location~. * \。(js | css)?$ { 到期12h; } access_log off; }
修改设置以后,一定要重新载入LNMP或者,重新载入nginx的,以下任决命令都一样:
/ root / lnmp reload#使用lnmp重新载入配置 /etc/init.d/nginx reload#只重新载入nginx配置,我一般用这个
不管是404还是503等常见错误,还是设置/usr/local/nginx/conf/vhost/legcloud.com.conf文件来完成:
听80; server_name legcloud.com www.legcloud.com; index index.html index.htm index.php default.html default.htm default.php; root /home/legcloud.com; error_page 404 /404.php; #放在这里,可自定义文件名,再重载nginx的就可以了 包括wordpress.conf;
if($ host!='vpsmm.com'){rewrite ^ /(。*)$ http://www.vpsmm.com/$1 permanent;} #判断当前域名,如果不是则自动301到主域名,放置于error_page ...;上下均可。
LNMP最新版,默认禁用了一些函数,例如FSO等,可修改/usr/local/php/etc/php.ini
disable_functions = passthru,exec,system,chroot,scandir .... #----这是禁用函数,把不想禁用的删除即可----如果自用主机,最简单的修改方案: disable_functions = ; 中继,EXEC,系统,chroot环境,SCANDIR .... #----设置为全部开启
修改后,使用/etc/init.d/php-fpm restart,重新启动php
七,升级PHP和NGINX版本
cd lnm0.9#进入lnmp安装目录 ./upgrade_nginx.sh#升级nginx,只要输入你要升级的版本即可(可见nginx.org) ./upgrade_php.sh#升级php,只要输入你要升级的版本即可(可见php.net)