升级了MYSQL以后需要重新编译php,升级php以后,需要重新安装 xcache,升级 php程序记得备份 php.ini,里面有防跨站设置
1楼安装包
2楼升级数据库使用方法
3楼升级Nginx到tengine使用方法
LTANMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LTANMP(Nginx、Tengine、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。此版本是基于LNMP基础2次修改,提供了Nginx升级为Tengine一键安装脚本,提供MySQL一键升级脚本。版权归Star技术论坛和LNMP共有。感谢热心网友:咖啡
1、使用putty或类似的SSH工具登陆;
登陆后运行:screen -S lnmp
如果提示screen命令不存在可以执行:yum install screen 或 apt-get install screen安装
2、下载LTANMP一键安装包:
复制内容到剪贴板
代码:
wget http://ltanmp.googlecode.com/files/ltanmp.tar.gz
下载完成后LTANMP一键安装包上传到您的服务器或VPS上root下(一般用root登陆没切换目录的话应该在/root 下面)。
3、解压LTANMP一键安装包:
执行:
复制内容到剪贴板
代码:
tar zxvf ltanmp.tar.gz
就会将LTANMP一键安装包解压缩。
4、开始安装LTANMP一键安装包:
进入LTANMP安装目录,执行:cd ltanmp/
再执行安装程序前需要您确认您的Linux发行版,可以执行:cat /etc/issue 查看是CentOS、Debian还是Ubuntu,也可以通过VPS服务商提供的控制面板上查看。确定好之后,选择下面对应系统的安装命令:
CentOS系统下的安装
执行./centos.sh 2>&1 | tee ltanmp.log (如果系统是Red Hat Enterprise Linux Server(RHEL)需要先确保yum可以正常安装软件,RHEL安装yum教程)
Debian系统下的安装
执行./debian.sh 2>&1 | tee ltanmp.log
Ubuntu系统下的安装
执行./ubuntu.sh 2>&1 | tee ltanmp.log
执行安装命令后,会出现如下界面:
输入要绑定的域名(建议使用一个二级域名,该域名会绑定到/home/wwwroot/,方便以后管理!如果输入有错误,可以按住Ctrl再按Backspace键删除),输入完成后回车,会显示如下界面:
(注:如果是Debian系统,输入域名后会提示Where are your servers located? asia,america,europe,oceania or africa,这里是选择服务器或VPS在哪个大洲,一般都是美国VPS,直接回车就行,如果是中国的,输入asia,回车。)
再输入要设置的MySQL root的密码,输入完成后回车,会显示如下界面:
如果需要安装InnoDB,可以输入 y 回车,不需要的话输入n回车即可。回车后会显示如下界面:
提示"Press any key to start...",按回车键开始安装。
LTANMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。
5、安装完成
如果显示如下界面:
说明已经安装成功。
虚拟主机管理
1、添加虚拟主机,执行如下命令:/root/vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。再输入域名绑定的目录(绝对目录,如/home/wwwroot/ltanmp,如果不填默认是/home/wwwroot/绑定的域名,目录不一定非要是/home/wwwroot/,如果/data/ 下面有大量的空间也可以填写/data/www/ltanmp 之类的。),再选择是否添加伪静态规则,默认已经有了discuz、discuzx、wordpress、sablog、emlog、dabr、phpwind、wp2(二级目录wp伪静态),可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行(注:添加完执行/etc/init.)。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回车就会自动添加虚拟主机。
2、删除虚拟主机,ssh执行:rm /usr/local/nginx/conf/vhost/域名.conf
安装其他组件
(注:安装如下组件,必须在ltanmp的安装目录,即lnmp压缩包解压缩后cd ltanmp/后的目录!,如果找不到可以执行find / -name eaccelerator.sh查找。)
(注:以下组件不一定您都需要,请按您的需求使用!)
1、安装PureFTPd和FTP管理面板,执行如下命令:./pureftpd.sh 按提示输入你MySQL的root密码、FTP用户管理面板的密码、MySQl的FTP数据库密码(可直接回车,自动生成一个密码),回车确认,就会自动安装PureFTPd,提示安装完PureFTPd后,在浏览器执行http://你的域名或IP/ftp/ 输入你前面设置的FTP用户管理面板的密码,就可以管理FTP。
2、安装eAccelerator,执行如下命令:./eaccelerator.sh ,按提示选择版本,回车确认后,就会自动安装并重启web服务。
3、安装ionCube,执行如下命令:./ionCube.sh 回车确认后,就会自动安装并重启web服务。
4、安装imageMagick,执行如下命令:./imageMagick.sh 回车确认后,就会自动安装并重启web服务。
5、安装memcached,执行如下命令:./memcached.sh 回车确认后,就会自动安装并重启web服务。
6、安装xcache,执行如下命令:./xcache.sh 回车确认后,就会自动安装并重启web服务。
7、安装ddos deflate预防简单的ddos和cc攻击 执行如下命令:./installddos.sh 卸载执行./uninstallddos.sh
升级程序
8、升级Nginx版本,执行如下命令:./upgrade_nginx.sh 按提示输入nginx的版本号,如1.0.10,版本号可以从
http://nginx.org/en/download.html获取。(注:升级过程中MySQL、PHP-FPM将会暂停。)
9、升级PHP版本,执行如下命令:./upgrade_php.sh 按提示输入php版本号,如5.3.6。(注:某些网站程序,如shopex等有兼容性问题,升级前确保你使用的程序以支持5.3.*版本。升级过程中Nginx、MySQL、PHP-FPM将会暂停。5.4.*版本属测试版暂未测试,生产环境请勿升级到5.4.*。)
10、升级tengine版本,执行如下命令:./upgrade_tengine.sh 按提示输入php版本号,如1.4.0
11、升级phpmyadmin版本,执行如下命令:./upgrade_phpmyadmin.sh按提示输入php版本号,如3.5.1
12、升级mysql版本,执行如下命令:./upgrade_mysql.sh按提示输入php版本号,如5.5.28 。【如果是首次升级直接输入版本号升级,升级完成后会提示输入密码。检测数据库的完整。如果升级过了在想升级的那么需要/usr/local/mysql目下新建一个var目录,然后把/usr/local/mysql/data的全部复制一份去新建的var目录下,然后在升级。】
备份程序
13、执行./backup.sh 选择你要备份的网站目录和数据库,不备份数据库输入n.
14、iptables配置防火墙【
Linux上iptables防火墙的基本应用教程】
8.升级MySQL见2楼
9.升级Nginx为Tengine见3楼
防跨站处理:
修改 /usr/local/php/etc/php.ini 文件,
1、还要在php.ini中添加:open_basedir = /home/wwwroot/;/tmp/
简单的一键修改、重启命令,SSH里执行一下即可:复制内容到剪贴板
代码:
sed -i '/;open_basedir/i open_basedir = /home/wwwroot/;/tmp/' /usr/local/php/etc/php.ini
/etc/init.d/php-fpm restart
就可以防止web向服务器的其它目录跨了。
所以,把web访问 先限制在/home/wwwroot/ 目录里。
修改php.ini 文件后,还需要改以下:
/home/wwwroot/ 目录权限、属性修改,以达到防跨站目的。 请看以下权限设置
SSH里面执行复制内容到剪贴板
代码:
chown 65534:31 /home/wwwroot/
再FTP去把这home wwwroot 改属性为 751(防跨站入侵)
/usr/local/nginx/conf/Vhost/ 再FTP去改属性为 751(防跨站入侵)
状态管理
LTMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
相关图形界面程序
phpinfo : http://前面输入的域名或IP/phpinfo.php
phpMyAdmin : http://前面输入的域名或IP/phpmyadmin/
探针 : http://前面输入的域名或IP/p.php
PureFTP管理界面:http://前面输入的域名或IP/ftp/
Memcached测试页面:http://前面输入的域名或IP/memcached.php
LTMP相关目录
nginx : /usr/local/nginx
mysql : /usr/local/mysql
php : /usr/local/php
网站目录: /home/wwwroot/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
LTMP相关配置文件
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