PHP 集成环境LNMP

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。

采用Linux、PHP、MySQL的优点我们不必多说。

Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,已经在一些俄罗斯的大型网站上运行多年,目前很多国内外的门户网站、行业网站也都在是使用Nginx,相当的稳定。

Nginx相当的稳定、功能丰富、安装配置简单、低系统资源……

LNMP安装

安装步骤:

1、使用putty或类似的SSH工具登陆VPS或服务器;

登陆后运行:screen -S lnmp

如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装,详细的screen教程

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

您可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),两者没什么区别。

执行安装程序前需要您确认您的Linux发行版,可以执行:cat /etc/issue 查看是CentOS、Debian还是Ubuntu,也可以通过VPS服务商提供的控制面板上查看。确定好之后,选择下面对应系统的安装命令:

CentOS系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./centos.sh

Debian系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./debian.sh

Ubuntu系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./ubuntu.sh

另外有2个国外镜像下载点可以使用soft2.vpser.net 和soft3.vpser.net 具体替换方法:http://lnmp.org/faq/lnmp-download-source.html

 

(注:如果是Debian系统,会提示Where are your servers located? asia,america,europe,oceania or africa,这里是选择服务器/VPS在哪个大洲,一般都是美国VPS,直接回车就行,如果是中国的,输入asia,回车。如果输入有错误,可以按住Ctrl再按Backspace键删除,以下均可采用此方法删除。)

这一步需要设置MySQL的root密码,输入后回车进入下一步,如下图所示:

这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,这个可以单独在MySQL文件里关闭,输入 y 表示启用,输入 n 表示不启用。输入 y 或 n 后回车进入下一步,显示如下信息:

这一步是选择php版本,可以选择 PHP 5.3.17 或 PHP 5.2.17,安装PHP 5.3.17的话输入 y ,安装PHP 5.2.17 输入 n,输入 y 或 n 后回车,进入下一步MySQL版本的选择,如下图:

可以选择MySQL 版本 5.5.27 或 5.1.60,安装MySQL 5.5.27的话输入 y ,安装MySQL 5.1.60 输入n,输入 y 或 n 后回车,完成选择。

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

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

3、安装完成
如果显示如下界面:

说明已经安装成功。
接下来按添加虚拟主机教程,添加虚拟主机,通过sftpftp服务器上传网站,将域名解析到VPS或服务器的IP上,解析生效即可使用。

4、安装失败

如果出现类似上图的提示,则表明安装失败,说明没有安装成功!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,到LNMP支持论坛发帖注明你的发行版名称版本号(可通过 cat /etc/issue获得)、32位还是64位,并将lnmp-install.log压缩以附件形式上传到论坛,我们会通过日志查找错误,并给予相应的解决方法。

5、添加、删除虚拟主机及伪静态管理

通俗点就是在VPS/服务商上添加一个网站(域名)。

 

需要执行如下命令:/root/vhost.sh 执行后会出现如下界面:

这里输入要绑定的域名,比如我想添加www.vpser.net 这个网站,那么直接输入www.vpser.net 然后回车,如果输入一个或多个字母按住Ctrl再按Backspace键删除,紧接会出现如下提示:

这一步提示是否要在www.vpser.net这个网站添加更多的域名,如想把vpser.net 或更多其他的域名绑上。

(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。

如果需要添加更多的域名,如不需要直接输入 n 回车。如需要输入 y 回车,出现如下图提示:

再输入要另外绑定的域名,多个域名可以用空格隔开。比如我要添加的站是多个域名都是访问一个站,输入 vpser.net www.vpser.org vpser.org 回车。


接下来是设置网站目录位置,一般情况下不需要设置直接回车即可。
在VPS或服务器有单独的数据分区,比如国内的阿里云之类的,如系统分区下容量小,数据盘分区大,那么可以输入自己的数据盘目录,必须是绝对目录。
比如/data/ 下面有大量的空间也可以填写/data/www/vpser 填写完回车确认。

这里选择是否添加伪静态规则,如不需要伪静态,直接输入 n 回车。如果需要输入 y 回车,再选择伪静态或自定义伪静态,一下为伪静态选择提示:

默认已经有了discuz、discuzx、wordpress、sablog、emlog、dabr、phpwind、wp2(二级目录wp伪静态)、dedecms、drupal、ecshop、shopex,可直接输入以上名称即可。(注:以上除特殊注明外所有规则均只能用于根目录网站,二级目录网站的无法使用,需修改规则。)

如果以上伪静态没有自己需要的可以添加自定义伪静态规则,直接输入一个想要的名字,名字不能和前面这些伪静态的名字及/usr/local/nginx/conf/下的其他文件相同,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。
注:添加完执行/etc/init.d/nginx restart 重启生效。


接下来会提示是否需要启用日志功能,如上图,一般情况下不需要启用日志,直接输入 n 回车。如需启用日志,输入y 回车。
会提示:Type access_log name(Default access log file:www.vpser.net.log):
这里是要求输入要定义的日志文件名字,一般不自定义直接回车即可。
日志文件存放在:/home/wwwlogs/ 下面。

出现:Press any key to start create virtul host… 后,再次回车确认就会自动添加虚拟主机。

二、删除虚拟主机

ssh登陆执行命令:rm /usr/local/nginx/conf/vhost/域名.conf
如,前面我们添加的主域名是www.vpser.net,则该命令为:rm /usr/local/nginx/conf/vhost/www.vpser.net.conf

 

三、伪静态

Apache下的.htaccess伪静态规则不能用在LNMP下,需要使用Nginx伪静态规则。

 

伪静态可以随时添加或删除,如果添加完虚拟主机后忘记或没有添加伪静态,可以通过修改配置文件来添加伪静态。

虚拟主机配置文件在:/usr/local/nginx/conf/vhost/域名.conf
伪静态规则文件需要放在/usr/local/nginx/conf/ 下面。

编辑虚拟主机配置文件,可以使用vinanowinscp,后2个工具对新手来说简单些。
例如签名我们添加的虚拟主机,打开后前半部分配置会显示如下:

在root /home/wwwroot/www.vpser.net;这一行下面添加:
include wordpress.conf;
上面的wordpress.conf换成上传到/usr/local/nginx/conf/ 下面的伪静态规则文件,加完保存,执行:/etc/init.d/nginx restart 重启生效,如果报错可能是添加有误或伪静态规则有误。

6、eAccelerator,xcache,memcached,imageMagick,ionCube的安装

本文主要介绍eAcceleratorxcachememcachedimageMagickionCube这几个PHP加速和php扩展的安装及使用,这些不一定对每个人都有用,自己按需要安装,下面会对各个程序的作用、安装方法及相关注意事项。

1、eAccelerator

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。

安装
进入lnmp解压后的目录,执行:./eaccelerator.sh 运行后有如下提示:
lnmp-eacesselerator-install.png
eaccelerator 0.9.5.3 支持PHP 5.2,如需此版本,输入 old 回车。
eaccelerator 0.9.6.1 支持PHP 5.2、5.3,如需此版本,输入 new 回车。
eaccelerator 1.0-dev 支持PHP 5.2、5.3、5.4,如需此版本输入 dev 回车。

提示“Press any key to start…or Press Ctrl+c to cancel” 后回车确认,脚本就会自动安装eaccelerator。

2、xcache

XCache 是一个国人开发的又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本。

安装
进入lnmp解压后的目录,执行:./xcache.sh 运行后有如下提示:
lnmp-xcache-install.png
一个有两个版本可以选择,分别是XCache 2.0.0 和XCache 3.0.1 ,建议安装XCache 3.0.1 输入new 回车

出现“Press any key to start…or Press Ctrl+c to cancel“,再次回车确认即可开始安装。

3、memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。

安装
进入lnmp解压后的目录,执行:./memcached.sh
回车确认后就会自动安装memcache php扩展和memcached。

4、imageMagick

ImageMagick是一个用于查看、编辑位图文件以及进行图像格式转换的开放源代码软件套装。它可以读取、编辑超过100种图象格式。可用来替换GD库。

安装
进入lnmp解压后的目录,执行:./imageMagick.sh
回车确认后就会自动安装imageMagick。

设置:比如在DiscuzX里设置时路径需要填写:/usr/local/imagemagick/bin/ 并且禁用函数里的exec要去掉才可以正常使用。

5、ionCube

此脚本是用来安装ionCube loader的,ionCube loader是用来解密ionCube加密的PHP脚本,如whmcs就采用ionCube加密。

安装
进入lnmp解压后的目录,执行:./ionCube.sh
回车确认后就会自动安装ionCube loader。

7、LNMP相关软件目录及文件位置

除去所必须的依赖包,LNMP一键安装包会安装一下软件:
默认安装软件:

  • Nginx
  • MySQL
  • PHP
  • PHPMyAdmin
  • Zend Optimizer

可选软件:

注明可选的为可使用安装脚本自行安装,未注明的为会自动安装。
不一定可选包都适合你,按需安装即可。

 

LNMP相关软件安装目录
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : 0.9版为/home/wwwroot/phpmyadmin/ 1.0版为 /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录 : 0.9版为 /home/wwwroot/ 1.0版为 /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
PureFtpd 目录:/usr/local/pureftpd/
PureFtpd web管理目录: 0.9版为/home/wwwroot/default/ftp/ 1.0版为 /home/wwwroot/default/ftp/
Proftpd 目录:/usr/local/proftpd/

LNMP相关配置文件位置
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
/root/vhost.sh添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf
Proftpd配置文件:/usr/local/proftpd/etc/proftpd.conf
Proftpd 用户配置文件:/usr/local/proftpd/etc/vhost/用户名.conf

LNMPA相关目录文件位置
Apache目录:/usr/local/apache/
Apache配置文件:/usr/local/apache/conf/httpd.conf
Apache虚拟主机配置文件目录:/usr/local/apache/conf/vhost/

8、LNMP状态管理命令

 

LNMP状态管理命令:

LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}

如重启LNMP,输入命令:/root/lnmp restart 即可,单独重启mysql:/etc/init.d/mysql restart

LNMPA状态管理命令:

LNMPA状态管理: /root/lnmpa {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}
Apache状态管理:/etc/init.d/httpd {start|stop|restart|graceful|graceful-stop|configtest|status}

发表评论