关于安装LNMP的问题总结

2,335 views

由于服务器数据搬迁,由原来的LAMP空间改为LNMP的VPS。问题遇到挺多。其实LNMP的安装并不复杂,然而问题在于由于选择主机环境,原本默认安装的是Rails版本的服务器,默认安装了Nginx,MySQL。当LAMP环境迁移过去时,会发现一系列问题。服务器往往为了优化某些性能,去掉某些模块,这就不知道默认的Nginx或者MySQL安装了那些模块,只有当程序运行时候才发现问题。

1.502 bad gateway

由于服务器默认没有安装php环境,于是安装了PHP,Apache2

sudo apt-get install php5 libapache2-mod-php5

安装后的默认路径

apache2: /etc/apache2

php:/etc/php5

php.ini /etc/php5/apache2/php.ini

Nginx本身是不能解析php的,需要Apache解析php,Nginx的端口为80,Apache作为转发的端口9000,所以将Apache端口文件(/etc/apache2/ports.conf)改为9000

Listen 9000

<IfModule ssl_module>
 Listen 443
</IfModule>

<IfModule mod_gnutls.c>
 Listen 443
</IfModule>

然后配置Nginx的default文件(/etc/nginx/sites-enabled/default)

网上搜索一番,发现大部分内容都是这样的

 location ~ \.php {
 include /etc/nginx/fastcgi_params;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 include /etc/nginx/fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_script_name;
 access_log off;
 }

然而发现当域名指向index.php时候能访问,一旦指向其他php文件时,就出现502 bad gateway的错误。网络的很多解决问题都是针对服务器负载量考虑的,在测试的服务器不会出现这个访问量过大的问题,显然是配置的问题。找了了多方法,终于找到了原因。

最后将以上内容改为一下内容,就解决了(php5-fpm不知在那一次的操作中安装了(>_<))。

location ~ \.php {
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param HTTPS off;
 }

2.Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

出现这个问题,常规的做法都是让你在php.ini添加一下内容

extension=mysqli.so
extension=mysql.so
extension=pdo_mysql.so

然而添加了以上内容,这些方法也未能解决问题。

最后是重新安装了php5-mysql解决了。

sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql
This entry was posted in LNMP, 服务器技术 and tagged , by Charlie. Bookmark the permalink.

One thought on “关于安装LNMP的问题总结

  1. Pingback: Apache2 Nginx配置多域名 | YoYong

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>