lnmp服务器环境,分别表示 `linux`,`nginx`,`mysql`,`php`。
## 前言
我的VPS装的系统是 centos6.5,`yum install php`默认安装的是5.3版本。而我用的一个微信类库,最低要求是php5.5,所以只能另寻他法。
之前在本地用 《[LNMP一键安装包](http://lnmp.org/)》安装过lnmp环境,感觉挺方便的。最后就也用了这个一键安装包。虽然编译时间有点长,大概半小时吧。不要问我为什么不手动安装,因为安装php-fpm5.6失败了,懒得浪费时间。
> LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian/Deepin VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。同时提供一些实用的辅助工具如:虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件Redis、Xcache等的安装、重置MySQL root密码、502自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。
## 安装方法
安装LNMP执行:
~~~
wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz
tar zxf lnmp1.3-full.tar.gz
cd lnmp1.3-full
./install.sh lnmp
~~~
`注意`:上述四行代码,为了阅读方便,进行了换行,实际使用 可使用 && 连接,一行代码,即可完整安装。
安装过程很简单,选择合适的版本,设置好mysql密码即可。
## 经验
### 去掉index.php,适用于单入口程序
在nginx.conf文件中server节点里面 root字段 下一行 加入以下代码:
~~~
# root /home/wwwroot;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
~~~
### 访问php程序,报错`Access denied`
因为CI使用了`pathinfo`,而`nginx`默认配置不支持。需要更改nginx.conf配置文件。
1、改`include enable-php.conf` 为 `include enable-php-pathinfo.conf`;
2、在`enable-php-pathinfo.conf`文件中加入
> fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
### Codeigniter在linux找不到类
我的程序用的是Codeigniter,居然出现libraries下的类无法正常加载(本地windows环境下正常)。google之,在stackoverflow上找到答案,居然要区分大小写!!!。幸好我只有两个类报错……