nginx——展示目录中的文件列表

在配置nginx的vhosts时,在http模块下添加以下配置,如

显示效果:

【参考】http://www.cnblogs.com/siqi/archive/2012/10/07/2713732.html

wordpress文章链接使用文章名固定链接

nginx的conf 配置:

【参考:https://codex.wordpress.org/Nginx】

Nginx优化——减少内存占用

通过修改php-fpm启动数量,可以控制对内存的占用。

修改php-fpm.conf文件:

【参考:】

https://www.douban.com/note/315222037/

www.4wei.cn/archives/1002061

 

nginx环境下如何强制访问https

方式一,rewrite:

方式二:meta标签refresh跳转:

【摘自:http://blog.csdn.net/wzy_1988/article/details/8549290】

初学nginx踩过的坑

1.除了安装nginx外,还要安装php-fpm。(同时,除了启动nginx外,还要启动php-fpm)

2.启动nginx和启动php-fpm使用的用户和用户组要一致,(可通过 ps aux|grep nginx , ps aux|grep php-fpm查看,如下图都是以nginx用户和用户组启动服务)如果不一致,可通过修改两者的conf配置文件修改。 继续阅读“初学nginx踩过的坑”

Nginx高级配置——绑定worker进程到指定的CPU内核

语法:worker_cpu_affinity cpumask[cpumask…]

为什么要绑定worker进程到指定的CPU内核呢?假定每一个worker进程都是非常繁忙的,如果多个worker进程都在抢同一个CPU,那么这就会出现同步问题。反之,如果每一个worker进程都独享一个CPU,就在内核的调度策略上实现了完全的并发。

例如,如果有4颗CPU内核,就可以进行如下配置:

注意,worker_cpu_affinity配置仅对linux操作系统有效。Linux操作系统使用sched_setaffinity()系统调用实现这个功能。

【摘自:《深入理解Nginx:模块开发与架构解析(第2版)》 陶辉 著】

 

Nginx高级配置——仅针对指定的客户端输出DEBUG级别的日志

语法:debug_connection[IP|DIDR]

这个配置项实际上属于事件类配置,因此,它必须放在events{…}中才有效。它的值可以是IP地址或CIDR地址,例如:

这样,仅仅来自以上IP地址的请求才会输出debug级别的日志,其他请求仍然沿用error_log中配置的日志级别。

上面这个配置对修复bug很有用,特别是定位高并发请求下才会发生的问题。

注意,使用debug_connection前,需确保在执行configure时已经加入了–with-debug参数,否则不会生效。

【摘自:《深入理解Nginx:模块开发与架构解析(第2版)》 陶辉 著】

平滑升级Nginx

当Nginx服务升级到新的版本时,必须要将旧的二进制文件Nginx替换掉,通常情况下这是需要重启服务的,但Nginx支持不重启服务来完成新版本的平滑升级。

平滑升级步骤:

1.通知正在运行的旧版本Nginx准备升级。通过向master进程发送URL2信号可达到目的:

这时,运行中的Nginx会将pid文件重命名,如将/usr/local/nginx/logs/nginx.pid重命名为/usr/local/nginx/logs/nginx.pid.oldbin,这样新的Nginx才有可能启动成功。

2.启动新版本的Nginx,这时通过ps命令可以发现新旧版本的Nginx在同时运行。

3.通过kill命令向旧版本的master进程发送SIGQUIT信号,以“优雅”的方式关闭旧版本的Nginx。随后将只有新版本的Nginx服务运行,此时平滑升级完毕。

【摘自:《深入理解Nginx:模块开发与架构解析(第2版)》 陶辉 著】

 

Linux内核参数优化

由于默认的Linux内核参数考虑的是最通用的场景,不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,使得Nginx可以拥有更高的性能。

最通用、使Nginx支持更多并发请求的配置:(修改/etc/sysctl.conf文件)

然后执行 sysctl -p 命令,使上述修改生效。 继续阅读“Linux内核参数优化”

安装Nginx

参考:http://www.runoob.com/linux/nginx-install-setup.html

备注:此链接中安装的nginx是1.6.2版本,建议通过 yum install nginx 看是否可用通过yum安装更高版本,或更换nginx官方的新版下载链接