LNMP一键安装包教程及常用设置!

    本文介绍如何为 linux 服务器/VPS安装LNmp一键包,为新手教程。LNmp官方网站: http://www.lnmp.org 。主要关于LNmp的安装过程,LNmp绑定域名,以及常见的404或301设置。

    LNmp是VPS建站的首选,对于内存要求较小,初装完才60M左右。128M内存,跑1W个IP的小博客仍旧嗖嗖的。如果你需要面板类,请安装KLOXO或FAmp等,本文不详述。

 一  安装LNmp

 LNmp的安装非常简单, 官方网站 大体需要四行命令即可。

wget -c http://soft.vpser.net/lnmp/lnmp0.7.tar.gz
tar zxvf lnmp0.7.tar.gz
cd lnmp0.7
./centos.sh

 如果是Debian或Ubuntu系统,则最后一行安装命令为./debian.sh或./ubuntu.sh

 安装时,第一步提示你输入域名,这个胡乱输入一个(不要用以后还要建站的域名):
LNMP一键安装包教程及常用设置!_第1张图片

 第二步,提示你输入MYSQL的root帐号密码,这个一定要记住:
LNMP一键安装包教程及常用设置!_第2张图片

 按任意键,开始安装。正常情况下20-40分钟左右,就可以安装完。进入#状态,如果你运行PHP程序网站,最好还要安装一下eAccelerator缓存插件:

./eaccelerator.sh

 至此LNmp安装完成,默认网站目录为/home/wwwroot/,默认安装PHPMYADMIN,使用 http://1.2.3.4/phpmyadmin/index.php 就可以管理你的MYSQL数据库了。

   【PS: 补充官方推荐的安装的方法 】:

1、 下载LNmp一键安装包 : 
可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),如果使用下载版执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.7.tar.gz ,如果使用完整版,执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.7-full.tar.gz ,执行上述命令后LNmp一键安装包就会被下载到VPS上。

2、 解压一键安装包 : 
执行tar zxvf lnmp0.7.tar.gz 或者tar zxvf lnmp0.7-full.tar.gz 就会将LNmp一键安装包解压缩。

3、 CentOS下安装步骤  
下载版执行命令 cd lnmp0.7/ ,完整版执行命令:cd lnmp0.7-full/ 
然后再执行./centos.sh 也可以执行./centos.sh | tee lnmp.log (推荐这种方式,出错时可以到论坛上传lnmp.log日志),输入要绑定的域名(建议使用一个二级域名,该域名会绑定到/home/wwwroot/),回车,再输入要设置的MySQL root的密码,回车,提示"Press any key to start...",按任意键开始安装。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。

 二  绑定域名到目录

 LNmp绑定域名时,your.com和www.your.com要分别输入,下面的例子中,主域名是419.at,而www.419.at做为其它域名,一起绑定的。命令是:

/root/vhost.sh

 1.绑定的主域名,我输入419.at后回车
 2.问你是否绑定其它域名,我输入y后回车
 3.输入你要绑定的其它域名,例如www.419.at回车
 4.问你网站的绑定目录是哪?默认是/home/wwwroot/419.at 可以自定义
 5.问你是否启用伪静态规则,自带了几个,按需要输入
 6.问你是否开启日志文件 n 回车
LNMP一键安装包教程及常用设置!_第3张图片

 默认绑定完域名,会在/usr/local/nginx/conf/vhost下面生成一个419.at.conf文件,如果想更换绑定的目录,修改绑定域名或添加301或404规则,都可以修改这个文件。我的修改的方法是用flashfxp拽到本机用editplus修改后上传。

 如果你域名很多,只要备份/usr/local/nginx/conf/vhost目录里面的配置文件,重装系统后再上传。如果想删除绑定,只要删除这个文件。再重新载入一下配置就可以了:

/root/lnmp reload

 使用vhost.sh绑米,实际上讲是创建一个conf文件到vhost目录中而已,其实还可以把vhost目录中现有的文件,复制一个并进行修改再重载配置来完成绑米。基本内容如下:

server_name vpsmm.com www.vpsmm.com; #这就是要绑定的域名
index index.php index.html; #就是首页文件名
root /home/wwwroot/vpsmm.com; #网页存放目录

 三  LNmp的简单优化

 LNmp可以进行简单优化,主要2方面。NGINX和PHP进程数,分别是以下2个文件:

/usr/local/nginx/conf/nginx.conf
/usr/local/php/etc/php-fpm.conf

 其中worker_processes 1;可以修改成2或3个,nginx本身就很强大,不需要像apache那样,开启过多的进程来保证其稳定运行。

 找到,按你的内存容量修改PHP进程的数量,一般128内存开启6个,256内存开启16个。这样能保证,在PHP大并发的情况下不会502错误。

 优化后,使用以下命令重新启动lnmp

/root/lnmp restart

 四  自定义404错误文件

 找到你的站点配置文件,例如/usr/local/nginx/conf/vhost/419.at.conf

 在root /home/wwwroot/419.at;下面添加一行:
 
error_page 404 /404.php;

LNMP一键安装包教程及常用设置!_第4张图片

 平时增加或修改域名绑定,修改域名的绑定目录,修改伪静态规则等,都可以修改此文件来实现,注意:如果绑定2个域名,中间用空格:server_name 419.at www.vpsmm.com blog.419.at; 这样。

 五  关于伪静态规则问题

 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; 就可以了。配置例子如上面那张图,其中419.conf就是我这个网站的自定义伪静态规则。

#修改相关设置后,需要用以下命令重载配置,使其生效:
/root/lnmp reload

 判断域名自动301伪静态规则:

if ($host != 'www.vpsmm.com' ) {rewrite ^/(.*)$ http://www.vpsmm.com/$1 permanent;}

   飘易提供一个apache伪静态规则转换到nginx的在线转换网站:apache-htaccess-to-nginx
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/
------------------------

   【 补充 LNmp 相关知识 】:
虚拟主机管理
1、 添加虚拟主机 ,执行如下命令:/root/vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对目录,如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名),再选择是否添加伪静态规则,默认已经有了Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回车就会自动添加虚拟主机。

2、 删除虚拟主机 ,ssh执行:rm /usr/local/nginx/conf/vhost/域名.conf

状态管理
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}

相关图形界面程序
phpinfo : http://前面输入的域名或IP/phpinfo.php
phpMyAdmin : http://前面输入的域名或IP/phpmyadmin/
探针 : http://前面输入的域名或IP/p.php
PureFTP管理界面:http://前面输入的域名或IP/ftp/

LNmp相关目录
nginx : /usr/local/nginx
mysql : /usr/local/mysql
php : /usr/local/php
网站目录: /home/wwwroot/
Nginx日志目录:/home/wwwlogs/

LNmp相关配置文件

Nginx主配置文件:/usr/local/nginx/conf/nginx.conf

MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf

PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf

在这里特别提示下:我自己在这里吃了大亏。。

程序在windows下运行没有问题,用svn传至linux后,结果出现如下图的错误:

LNMP一键安装包教程及常用设置!_第5张图片

查看默认设置的错误日志,从下图中根本看不出错在哪里??

wanwan@ubuntu:/home/wwwlogs$ vi passport_error.log.log 

LNMP一键安装包教程及常用设置!_第6张图片

所以进入vhost修改配置,将错误日志指定为另一个文件(error_local.log):

root@ubuntu:/usr/local/nginx/conf/vhost# vi passport.wanwan.net.conf 

LNMP一键安装包教程及常用设置!_第7张图片

刷新下访问页面后,出现如下图所示错误:

LNMP一键安装包教程及常用设置!_第8张图片

根据错误提示:

1)排查了require引入的文件确实存在,由相对路径改为绝对路径还是出现这种错误

2)进入php.ini中查找open_basedir发现加入了如下图所示:(图上所示为被我注释掉了)

LNMP一键安装包教程及常用设置!_第9张图片

你可能感兴趣的:(Linux)