LNMP 一键安装 Linux Nginx MySQL PHP

LNMP 官方网站:http://lnmp.org/

安装

 

系统需求:

  • 需要2 GB硬盘剩余空间
  • 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统)
  • Linux下区分大小写,输入命令时请注意!

 

安装步骤:

1、使用putty或类似的SSH工具登陆;
登陆后运行:screen -S lnmp
如果提示screen命令不存在可以执行:yum install screen 或 apt-get install screen安装,详细的screen教程点击这里

2、下载LNMP一键安装包:
您可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用)
如需下载版执行命令:wget -c http://soft.vpser.net/lnmp/lnmp0.9.tar.gz
如需完整版执行命令:wget -c http://soft.vpser.net/lnmp/lnmp0.9-full.tar.gz
下载完成后LNMP一键安装包就会被下载到您的服务器或VPS上(一般用root登陆没切换目录的话应该在/root 下面)。

3、解压LNMP一键安装包:
执行:tar zxvf lnmp0.9.tar.gz 或 tar zxvf lnmp0.9-full.tar.gz 就会将LNMP一键安装包解压缩。

4、开始安装LNMP一键安装包:
进入LNMP安装目录,执行:cd lnmp0.9/ 或 cd lnmp0.9-full/
再执行安装程序前需要您确认您的Linux发行版,可以执行:cat /etc/issue 查看是CentOS、Debian还是Ubuntu,也可以通过VPS服务商提供的控制面板上查看。确定好之后,选择下面对应系统的安装命令:
CentOS系统下的安装
执行./centos.sh 2>&1 | tee lnmp.log
Debian系统下的安装
执行./debian.sh 2>&1 | tee lnmp.log
Ubuntu系统下的安装
执行./ubuntu.sh 2>&1 | tee lnmp.log
执行安装命令后,会出现如下界面:
lnmp-install-input-domain
输入要绑定的域名(建议使用一个二级域名,该域名会绑定到/home/wwwroot/,方便以后管理!如果输入有错误,可以按住Ctrl再按Backspace键删除),输入完成后回车,会显示如下界面:
(注:如果是Debian系统,输入域名后会提示Where are your servers located? asia,america,europe,oceania or africa,这里是选择服务器或VPS在哪个大洲,一般都是美国VPS,直接回车就行,如果是中国的,输入asia,回车。)
lnmp-install-input-mysql-root-password
再输入要设置的MySQL root的密码,输入完成后回车,会显示如下界面:
lnmp-install-input-mysql-innodb
如果需要安装InnoDB,可以输入 y 回车,不需要的话直接回车即可。回车后会显示如下界面:
lnmp-install-press
提示”Press any key to start…”,按回车键开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

5、安装完成
如果显示如下界面:
lnmp-install-success
说明已经安装成功。
如果显示如下界面:
lnmp-install-failed
说明没有安装成功!!需要用winscp到lnmp0.9的目录下找到lnmp.log,并下载下来,到LNMP支持论坛发帖注明你的系统、32位还是64位,并将lnmp.log以附件形式上传到论坛,我们会通过日志查找错误,并在帖子上进行反馈。

 

虚拟主机管理

lnmp-vhost

1、添加虚拟主机,执行如下命令:/root/vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。再输入域名绑定的目录(绝对目录,如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名,目录不一定非要是/home/wwwroot/,如果/data/ 下面有大量的空间也可以填写/data/www/lnmp 之类的。),再选择是否添加伪静态规则,默认已经有了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

安装其他组件

(注:安装如下组件,必须在lnmp0.9的安装目录,即lnmp压缩包解压缩后cd lnmp0.9/后的目录!,如果找不到可以执行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、升级Nginx版本,执行如下命令:./upgrade_nginx.sh 按提示输入nginx的版本号,如1.0.10,版本号可以从http://nginx.org/en/download.html获取。(注:升级过程中MySQL、PHP-FPM将会暂停。)

7、升级PHP版本,执行如下命令:./upgrade_php.sh 按提示输入php版本号,如5.3.6。(注:某些网站程序,如shopex等有兼容性问题,升级前确保你使用的程序以支持5.3.*版本。升级过程中Nginx、MySQL、PHP-FPM将会暂停。)

状态管理

LNMP状态管理: /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

LNMP相关目录

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/

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

 

注:LNMP一键安装包 0.9 & LNMPA已经在DiaHosting(感谢提供测试VPS)、VPSYOU(感谢提供测试VPS)、PhotonVPS(感谢提供测试VPS)、VPSZZLinodeXeHost瑞豪开源VPSYardVPSHostigationMyHost123ThrustVPSBuyVMDirectSpace等多家美国VPS的CentOS、Debian、Ubuntu的32位和64位系统上测试通过。(Debian5系统源目前有问题,请使用Debian6!小内存请勿使用64位系统)

NGINX,反向代理,翻墙

nginx,反向代理,翻墙

来源:Observer专栏杂记

研究翻墙也有一阵了,之前的成果可见利用低端VPS开设VPN代理翻墙利用博客空间开设翻墙代理
VPN的例子可见 http://vpn.unswbbs.com/
博客空间的例子见 http://proxy.app-base.com/

其实有了低端VPS之后,真是非常的自由,想干啥就能干啥,甚至包括实现迅雷离线下载功能。强烈推荐各位预算在$3/月以上的博主和站长们考虑一下低端VPS之ramhost,详情可见 奋战VPS一文

今天主要是从另一种角度来说翻墙。众所周知,被墙的网站毕竟是少数,如果为了少数网站使用代理或者VPN,那必将使得你的其他网页的访问也会通过代理或者VPN,虽然可以通过代理设置软件或者设置路由的办法来区别访问,但是并不是每个人都知道该怎么做。

与其为”人”提供代理,不如为”网站”提供代理来得一劳永逸。

这就是所谓的反向代理。

反向代理怎么做?有很多选择,例如squid,nginx。

squid是一个很不错的软件,但是要求的内存太高了,对吾等VPS用户简直是个资源噩梦,那么nginx这款刚进入我视线的高性能,轻量级,易配置的反向代理软件(同时也是http服务软件和IMAP,POP邮件服务端)就是不二的选择了

以ubuntu为例,安装nginx很简单,一行代码

sudo apt-get install nginx

然后是配置
配置的一般攻略可见nginx wiki
这篇文章我觉得不错Ubuntu Linux系统下轻松架设nginx+php服务器应用

或者见这篇文章
LNMP一键安装(Linux+Nginx+Mysql+Php5+Zend优化)

我这里假设你已经配置成功一台基础服务器,那么在配置的相应地方中加入

server {
listen 80;
server_name nb.proxy.app-base.com;
access_log /var/log/nginx/proxy.app-base.com.access_log;
error_log /var/log/nginx/proxy.app-base.com.error_log warn;
root /var/www/proxy.app-base.com/htdocs;
index index.html;
location / {
proxy_pass http://www.bullogger.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

访问 http://nb.proxy.app-base.com 试试看,一个牛博网的反向代理已经配置完毕
nginx的http proxy module的文档见http://wiki.nginx.org/NginxHttpProxyModule