LNMP安装配置-linux Nginx/Mysql/Php/Phpmyadmin(CentOS vps)

作者 FarLee 2010年7月26日 23:46:12   ‖浏览(35,586)

只在vps服务器搭建vpn线路,显然有些浪费。比如还可以在Linux的vps服务器上安装lnmp网站服务器。

LNMP是指在linux系统下安装Nginx服务器、Mysql数据库、Php (Phpmyadmin)。安装LNMP过程很简单,另外也有LNMP一键安装包,因此甚至不需要进行一些LNMP配置,网站服务器就可以工作了。但是lnmp一键安装的缺点是如果安装过程出现了问题,配置起来就困难很多了。

为什么不用lamp,即没有采用Apache服务器的原因是该VPS配置性能不高,跑apache服务器将会非常吃力。而Nginx是一个高性能的http、反向代理服务器,Nginx的特点就是轻便和高性能,非常适合低配置的VPS搭建网站服务器。下面是远方博客在CentOS系统下安装和配置LNMP、安装FTP服务器vsftpd、并搭建wordpress博客网站的过程,记录供备忘并交流。

CentOS VPS 安装LNMP准备

Linux vps 服务器CentOS 系统最小化安装不一定会默认安装wget和unzip,而LNMP安装包和wordpress安装过程中却是会用到这两个服务命令的,因此必须首先安装。通过Putty连接vps务器之后,使用yum install wget和yum insatll unzip进行安装。

LNMP安装配置

1. 登陆连接vps服务器(Putty)

2. 安装licess提供的lnmp一键安装包,wget默认下载到当前目录:

wget -c http://soft.vpser.net/lnmp/lnmp0.4.tar.gz

3. 解压LNMP安装包:tar zxvf lnmp0.4.tar.gz ;然后转移到目录:cd lnmp0.4/

4. CentOS系统执行./centos.sh开始安装过程。

5. 输入要绑定到网站服务器根目录的域名(该域名必须首先做A记录解析到vps的IP地址才会生效)。

6. 输入域名按Enter后centos.sh脚本执行文件开始自动安装Nginx、编译php、安装配置MySQL、phpMyAdmin和Zend等组件。刚开始需要输入mysql root账号的密码,然后整个下载和安装编译的过程大概经过约10-30分钟。

7. 安装其他组件(可选):cd到lnmp0.4下执行./eaccelerator.sh则程序会自动安装eAcelerator,执行./pureftpd.sh则安装pureftpd FTP服务器,执行./vsftpd.sh安装vsftpd。因为希望最小化安装LNMP,所以这些都没选择安装。

8. 安装虚拟主机:cd到lnmp0.4下执行./vhost.sh自动开始创建虚拟主机并绑定域名到指定的目录(输入域名->指定绑定目录->设置是否启用静态规则->选择输入Wordpress->是否启用日志N)。若虚拟主机需要自定义伪静态规则,则输入WordPress时改为输入url重写静态化规则名称,然后在/usr/local/nginx/conf/自定义的伪静态名字.conf 里面添加自定义伪静态规则。或者直接编辑/usr/local/nginx/conf/nginx.conf 这个nginx配置文件。

9. LNMP安装结束后可以通过:/root/lnmp {start|stop|reload|restart|kill|status} 来对LNMP启动、停止、重启等状态进行管理。

LNMP安装配置过程出现的问题

1. 403 Forbidden502 Bad Gateway

若没有上传文件到wwwroot根目录下,则输入绑定到LNMP网站根目录下的域名会显示403 Forbidden提示,上传相关index.php等文件即可。若出现 502 bad gateway 错误提示,可以试试重启LNMP:/root/lnmp restart,然后查看错误提示:

Reload LNMP...
Reload Nginx configure...
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
Nginx program is reloding!
Shutting down MySQL. SUCCESS!
Starting MySQL. SUCCESS!
/root/lnmp: line 70: /usr/local/php/sbin/php-fpm: No such file or directory

从上面的提示看出是缺少php-fpm,php编译没有成功。没有办法只有卸载lnmp重新编译php了,或者直接reimage重装vps系统,或许这样更快了。

2. ERROR! Manager of pid-file quit without updating file

这个错误原因的出现多半是因为重新安装配置LNMP一键安装包,但是原来的mysql服务又还没卸载,仍然占用了原来的3306端口。从查看mysq错误日志文件可知,编辑错误日志位置是:nano /usr/local/mysql/var/farlee.err(ls usr/local/mysql/找到.err后缀的文件):

100726 16:26:28 mysqld_safe mysqld from pid file /usr/local/mysql/var/kjmykjmy.pid ended
100726 16:28:22 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var
100726 16:28:22 [Warning] The syntax '--skip-locking' is deprecated and will be removed in a future release. Please use --skip-external-locking instead.
100726 16:28:22 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
100726 16:28:22 [ERROR] Do you already have another mysqld server running on port: 3306 ?
100726 16:28:22 [ERROR] Aborting

提示仍有另外一个mysqld 服务器占用了3306端口,修改mysql配置文件nano /etc/my.cnf ,将port端口改成其他的,同时把skip-locking改成skip-external-locking。保存退出后重启mysql:service mysql start。再次重启lnmp发现ERROR! Manager of pid-file quit without updating file 这个错误没有了。

3. phpmyadmin: #1045 无法登录 MySQL 服务器Access denied for user ‘root’@’localhost’ (using password: YES)

安装完lnmp安装包之后,很多人反应无法登陆mysql数据库,出现Access denied for user ‘root’@’localhost’ (using password: YES)的错误。这有可能是由于前面设置mysql密码没有成功,所以导致了我们使用设置的mysql root密码无法登陆服务器。这时可以尝试使用mysql 默认的root账号的空密码登陆数据库。

若果使用空密码登陆时又出现:空密码登录被禁止 (参见 允许空密码)的类似错误。则要修改/home/wwwroot/phpmyadmin/libraries/config.default.php 文件,找到下面两行

$cfg['Servers'][$i]['nopassword'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

将两个false改为true,同时设置 $cfg['Servers'][$i]['password'] = '';通过这样设置配置文件后phpmyadmin 就会允许以空密码方式登录mysql数据库了。若重新以空密码方式登录phpmyadmin有时仍无法登陆,请清除cookie或关闭原来的phpmyadmin 登录窗口,重新使用空密码登录。若这时候仍然显示空密码登陆被禁止,试试随便输入几个字符当作密码看是否能够登陆成功。登陆mysql服务器之后尽快将mysql密码在phpmyadmin中修改过来。或者在SSH客户端修改mysql密码:cd /usr/local/mysql/bin 然后执行命令:./mysqladmin -u root -p password http://h.farll.com/ passwd。最后在mysql的user表中删除除root以外所有用户。

LNMP安装vsftpd FTP服务器

1. 安装vsftpd服务器,我们就可以通过flashfxp、filezilla等ftp客户端上传文件了:yum -y install vsftpd
2. 设置开机启动 vsftpd:chkconfig --level 35 vsftpd on
3. 禁止匿名登陆,修改/etc/vsftpd/vsftpd.conf文件。将anonymous_enable=YES,改为anonymous_enable=NO
4. 修改www密码:passwd www 连续两次输入新的密码
5. 赋予目录权限和www用户权限: chown -R root:www /home/wwwroot 和  chmod 770 /home/wwwroot
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
6. 重启vsftpd:service vsftpd start,   service vsftpd restart

LNMP 安装wordpress 博客

1. 通过phpmyadmin创建mysql数据库;下载wordpress.zip,解压后修改config.php文件;全选wordpress文件夹内的所有文件及目录,右键压缩成zip格式。
2. 将重新压缩的wordpress.zip 通过FTP(SFTP)上传到/home/wwwroot 根目录下。 若上传或解压路径错了,删除目录重来:rm -rf /home/wordpress。
3. cd /home/wwwroot    unzip wordpress.zip 解压到wwwroot根目录,访问绑定的域名开始安装wordpress博客

Nginx 服务器和Apache .htaccess 文件

nginx 默认不支持网站根目录下的.htaccess 文件;必须在nginx服务器配置文件目录如/usr/local/nginx/conf/的.conf文件中进行相关设置。比如上文中介绍已经自动生成了wordpress的伪静态url重写规则,若另外要手动设置顶级域名301跳转到www域名,则可以在conf配置文件中写入:

server {
     listen    80;
     server_name  farlee.info;
     rewrite ^(.*) http://www.farlee.info$1 permanent;
}
server {
     listen    80;
     server_name  www.farlee.info;
     ...
}

若只是需要302跳转,则上面红色rewrite 规则替换为如下即可:

rewrite   ^  http://www.farlee.info$request_uri?;

也可以在.htaccess文件中设置相关的rewrite 规则,然后在nginx.conf 服务器配置文件中将该.htaccess文件include进来:

include /var/www/html/168pc/bbs/.htaccess;

“LNMP安装配置-linux Nginx/Mysql/Php/Phpmyadmin(CentOS vps)”文章评论(28)

  1. vsftpd的www用户密码最后面几位设置为********ftp,只要前8位输入正确即可连接ftp服务器?

  2. 无法安装wordpress主题和插件:chmod -R 777 /home/wwwroot/wp-content 。安装之后再改回755

    • 添加虚拟主机,使用主域名指向wwwroot根目录,选择wordpress的伪静态规则。

  3. WordPress伪静态默认的nginx.conf配置无效,新建虚拟主机,选择主域名,指向wwwroot根目录,选择wordpress这个伪静态规则。

    • 绑定www主域名之后,别忘了继续绑定不带www的顶级域名。绑定之后不带www域名会自动转到www域名

    • 在nginx.conf中server内添加 include wordpress.conf;

  4. 这篇文章不错,学到很多,感谢 :)

  5. 创造第一高楼

  6. 哈哈~~看了一下 !不错哦!

  7. 很好啊 学习了…..

  8. 安装了N遍 总是报错

  9. 郁闷了。域名输错了怎么办呢

    • 修改nginx配置文件,将域名改成正确的

  10. chown -R www /home/wwwroot 为www用户赋予文件归属

  11. wget直接从wordpress官网上下wordpress其实很爽~ftp传什么都慢,呵呵

  12. 叶侏映巫

    2012年托福考前买答案【QQ:862488826】雅思考前买答案/英语四六级考前买答案

Trackbacks/Pingbacks

  1. 推荐几个php的集成服务器!非常好用 « 生活色彩-记录点滴,感悟生活—juve的博客
  2. LNMP一键安装包0.5版正式发布 附安装和配置 | SUSNS – 分享互联网
  3. LNMP一键安装和配置 | 觅策软件官方博客
  4. Relax » LNMP一键安装包0.5版正式发布 附安装和配置
  5. LNMP一键安装包0.5版安装和配置 at 寻路
  6. LNMP一键安装包0.5版正式发布 附安装和配置 | 免费空间,免费域名,免费建站 – 扣扣屋免费空间 – qq5.com.ru
  7. 0x6c69-臣心一片磁针石,不指南方不肯休! » Blog Archive » LNMP安装配置-linux Nginx/Mysql/Php/Phpmyadmin(CentOS vps)
  8. php获取文件mime类型Fileinfo等方法 – 远方博客
  9. centos lemp搭建wordpress(nginx+php-fastcgi) – 远方博客
  10. VPS个人建站和搬家的不完全记录指南【持续更新】 | imink_墨腐朽的博客
  11. VPS个人建站和搬家的不完全记录指南【持续更新】 – 墨腐朽 | imink

来说兩句