用久了 apache 后,决定试试 nginx(LNMP),网上搜了搜,都是什么一键包,集成环境。反正也是闲着,于是我决定闭门造车,盲人摸象一回,自己摸索去。
首先在新立得(Synaptic)里边搜索 nginx、php、mysql 等,捡看着顺眼的安装之,好吧,╮(╯_╰)╭ 我也不知道准确的有哪些。。直接 apt-get 一番之后应该就可以看到这个页面。
更新:需要装上 php5-fpm 这个,不然会报错:502 bad gateway

先习惯性翻到 /etc/nginx/ 里看看,配置文件应该就是 nginx.conf 这个 。比起 apache 确实是轻量级了,才不到一百行。
先把 log 都改成自己的目录(方便备份) (33、34行)
access_log /home/h-kylin/Hosts/access.log;
error_log /home/h-kylin/Hosts/error.log;
虚拟主机目录(72行)改成自己的
include /home/h-kylin/Hosts/2014.conf;
然后再编辑自定义的虚拟主机配置(参考 sites-available 的默认配置)

# 主目录
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /home/h-kylin/Hosts;
index index.php index.html index.htm;
server_name index.home;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass index.home:80;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
然后修改用户组权限
chown -R www-data /home/h-kylin/Hosts
检查配置文件
nginx -t
重启 Nginx,启动 直接用 “ nginx ”
nginx -s reload (可选 stop, quit, reopen, reload)
在主目录里边新建个 test.php
<?php
phpinfo();
?>
能看到这个页面,说明已经成功!

后面卡在 fastcgi 这里,查阅一堆资料都无解,看 # NOTE: 说的,大概是 单独用 php5-cgi 的时候,要设置 fastcgi_pass 这一行,但我把下面 php5-fpm 也启用了,便没有管那一行了。
Nginx 不像 Apache 那样直接装好了就行了,非要用 php5-cgi 和 php5-fpm 才能和 php 一起工作。
续,总是出现 403 Forbidden 可能是因为缺少 index.html 或者 index.php 文件,在 index 一行添加
修改 mysql 空密码 用这个
root@kylin:/home/h-kylin# mysqladmin -u root password 123456(改成自己的密码)
Nginx 中添加 对 wordpress 的 rewrite 支持,来自 [↗]
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
修改上传文件大小限制:
在 apache 里边只需要修改 php.ini 里边的 upload_max_filesize 和 post_max_size 两行即可。
但 nginx 中 nginx.conf 里的
types_hash_max_size 2048;
这一行也限制了上传大小。并且, nginx.conf 的优先级是高于 php.ini 的。