写给想用Nginx作为web服务器新手看的。
主要关于二个方面:一是LNMP的安装过程,LNMP绑定域名,ngnix、php升级以及常见的404或301设置。二是VPS不装FTP软件,使用FLASHFXP的SFTP功能上传管理文件的教程。
LNMP是VPS建站的首选。本文所使用的VPS为美国BurstNET公司VPS,其基本配制:
CPU:1G,
内存:512M,
硬盘:20G,
流量:1000G/月,
两 个IP,
系统:CentOS5.5_x86。
准备绑定的域名:tkcz.net,askbar.net,cnvz.org,cbrcc.com
一 安装LNMP
准备工作
卸载自带的apache服务器
rpm -e httpd
安装LNMP
根据官方网站提示进行安装,因本VPS在美国,故选择下载版:http://soft.vpser.net/lnmp/lnmp0.6.tar.gz。
wget -c http://soft.vpser.net/lnmp/lnmp0.6.tar.gz
tar zxvf lnmp0.6.tar.gz
cd lnmp0.6
./centos.sh 也可以执行./centos.sh | tee lnmp.log(本服务器为CentOS5.5,如其它系统执行相应命令)
输入要绑定的域名,
tkcz.net 回车
再输入你要设置的MYSQL的root帐号密码,这个一定要记住:
回车,提示"Press any key to start...",按任意键开始安装。正常情况下20-40分钟左右,就可以安装完。
eAccelerator缓存插件升级php后再修改eaccelerator.sh安装
至此LNMP安装完成,默认网站目录为/home/wwwroot/,默认安装PHPMYADMIN,使用 http://tkcz.net/phpmyadmin/index.php 就可以管理你的MYSQL数据库了。
本服务器为便于管理,将网站目录更改为/www/tkcz.net,修改方法如下:
vim /usr/local/nginx/conf/nginx.conf
找到 root /home/wwwroot
修改为 root /www/tkcz.net
同时在 server_name tkcz.net后加上 www.tkcz.net,其目的使www.tkcz.net与tkcz.net能同时访问。
即变为 server_name tkcz.net www.tkcz.net;
保存退出
将PHPMYADMIN移到/www/tkcz.net目录下
mv -if /home/wwwroot/phpmyadmin /www/tkcz.net
重启Nginx
/root/lnmp reload
二 升级Nginx和php
wget soft.vpser.net/lnmp/upgrade_nginx.sh
sh ./upgrade_nginx.sh
然后按提示输入要升级的Nginx版本号,Nginx的版本号可以从http://nginx.org/en/download.html查询。
此处输入最新0.9.7,再次回车确认即可开始安装。即可升级成功。
php升级需注意重新安装ionCube需要重新安装,eaccelerator需要安装最新版本。
步骤:
wget http://soft.vpser.net/lnmp/upgrade_php.sh
sh upgrade_php.sh
注意:版本号一定要输入正确否则将会升级失败!此处输入5.3.6 (从http://www.php.net网站上查寻)
升级后将会使用/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate} 进行管理。
php-fpm配置文件路径为:/usr/local/php/etc/php-fpm.conf
php配置文件路径为:/usr/local/php/etc/php.ini
编译eaccelerator.sh
vim eaccelerator.sh
将以下内容
wget -c http://soft.vpser.net/web/eaccelerator/eaccelerator-0.9.5.3.tar.bz2
tar jxvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3/
更改为
wget -c http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar jxvf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1/
另外一处
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so" -
更改为
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so"
否则运行php-fpm时会提示"/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"无文件夹
编译ionCube.sh
vim ionCube.sh
将
zend_extension="/usr/local/ioncube/ioncube_loader_lin_5.2.so"改为zend_extension="/usr/local/ioncube/ioncube_loader_lin_5.3.so"
否则出现Cannot load the ionCube PHP Loader - it was built with configuration 2.2.0, whereas running engine is API220090626,NTS
PHP 5.3.6 (fpm-fcgi)的提示。
php5.3.6版ZentOptimizer由ZentGuardloader5.5代替。可以从本站下载ZentGuardloader.so(http://www.tkcz.net/uploads/uploads/ZentGuardloader.so)移动到/usr/local/zend/目录下,如有文件存在,覆盖即可。
/usr/local/php/sbin/php-fpm -v
出现
PHP 5.3.6 (fpm-fcgi) (built: Apr 10 2011 09:38:05)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
with the ionCube PHP Loader v4.0.7, Copyright (c) 2002-2011, by ionCube Ltd., and
with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies
升级安装成功。
/root/lnmp reload
在网页地址中输入http://www.tkcz.net/p.php。如图结果
三 绑定域名到目录
LNMP绑定域名时,askbar.com和www.askbar.com要分别输入,如下面的例子中,主域名是askbar.net,而www.askbar.net做为其它域名,一起绑定的。命令是:
/root/vhost.sh
1.绑定的主域名,我输入askbar.net后回车(图中输入www.tkcz.net)
2.问你是否绑定其它域名,我输入y后回车
3.输入你要绑定的其它域名,例如www.askbar.net回车(图中输入mysql.tkcz.net)
4.问你网站的绑定目录是哪?默认是/home/wwwroot/askbar.net 可以自定义,此处输入/www/askbar.net(图中输入tkcz.net)
5.问你是否启用伪静态规则,自带了几个,按需要输入
6.问你是否开启日志文件 n 回车
默认绑定完域名,会在/usr/local/nginx/conf/vhost下面生成一个askbar.net.conf文件,如果想更换绑定的目录,修改绑定域名或添加301或404规则,都可以修改这个文件。
利用同样方法绑定cnvz.org、www.cnvz.org和cbrcc.com、www.cbrcc.com
如果你域名很多,只要备份/usr/local/nginx/conf/vhost目录里面的配置文件,重装系统后再上传。如果想删除绑定,只要删除这个文件。再重新载入一下配置就可以了:
/root/lnmp reload
四 自定义404错误文件
找到你的站点配置文件,例如/usr/local/nginx/conf/vhost/askbar.net.conf
在root /www/askbar.net;下面添加一行:
error_page 404 /404.php;
五 关于伪静态规则问题
nginx的伪静态规则与apache不一样,lnmp默认包含了一些伪静态规则,例如discuz typecho wordpress,你直接就可以在绑定域名的时候启用。但假如用discuzX1.5或phpwind之类,我们就要修改。其实很简单:
1.把伪静态规则,存成一个conf文件,例如phpwind.conf放到/usr/local/nginx/conf里面。
2.修改你的域名配置文件,例如/usr/local/nginx/conf/vhost/your.com.conf,让里面包括include phpwind.conf; 就可以了。
#修改相关设置后,需要用以下命令重载配置,使其生效:
/root/lnmp reload
判断域名自动301伪静态规则:
if ($host != 'www.tkcz.net' ) {rewrite ^/(.*)$ http://www.tkcz.net/$1
permanent;}
其它注意内容暂无
六 使用SFTP传输文件
如果是自已用的VPS,完全没有必要浪费内存去安装FTP软件,只需要使用系统自带的SFTP,就可以上传或下载文件。二个常用软件,FLASHFXP和FILEZILLA,截图如下:
1.Flashfxp 传输类型处,使用SFTP,用户名密码端口,均与SSH相同。
2.FileZilla 主机填你的IP,服务器类型选择SFTP,用户名密码端口与SSH相同。