初识NGINX

发布于 2016-11-28

Nginx 是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器。 Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。很多高知名度的网站都使用 Nginx,如:Netflix,GitHub,SoundCloud,MaxCDN 等。 Nginx 有一个主线程( master process)和几个工作线程(worker process)。主线程的目的是加载和验证配置文件、维护工作线程。 工作线程处理实际的请求,Nginx 采用基于事件的模型和依赖操作系统的机制在工作线程之间高效地分发请求。工作线程的数量可配置,也可自动调整为服务器CPU的数量。 Nginx 及其模块的工作方式由配置文件确定。 默认情况下,配置文件名为 nginx.conf,放在 /usr/local/nginx/conf 、/etc/nginx 或者 /usr/local/etc/nginx 文件夹中。 基本命令 Nginx 启动之后,可以使用以下命令控制: nginx -s <signal> 其中-s意思是向主进程发送信号,signal可以为以下四个中的一个: stop — 快速关闭 quit — 优雅关闭 reload — 重新加载配置文件 reopen — 重新打开日志文件 当运行nginx -s quit时,Nginx 会等待工作进程处理完成当前请求,然后将其关闭。当你修改配置文件后,并不会立即生效,而是等待重启或者收到nginx -s reload信号。 当 Nginx 收到 nginx -s reload 信号后,首先检查配置文件的语法。语法正确后,主线程会开启新的工作线程并向旧的工作线程发送关闭信号,如果语法不正确,则主线程回滚变化并继续使用旧的配置。当工作进程收到主进程的关闭信号后,会在处理完当前请求之后退出。 配置文件 Nginx 配置的核心是定义要处理的 URL 以及如何响应这些 URL 请求,即定义一系列的虚拟服务器(Virtual Servers)控制对来自特定域名或者 IP ...


PHP-FPM进程优化 笔记

发布于 2016-11-11

闲来无事给来一个网站压力测试,用了阿里的那个测试在线测试工具,50进程还没坚持几秒就挂了,nginx报错502网关错误,感觉就是php-fpm崩溃了。然后各种查资料,修改 php-fpm 的进程数量来调节 修改/etc/php5/fpm/pool.d/www.conf pm = dynamic #设置为动态调节进程数量 pm.max_children = 6 #静态下启动的进程数量 pm.start_servers = 2 #动态下启动初始进程数量 pm.min_spare_servers = 1 #动态下最小进程数量 pm.max_spare_servers = 6 #动态下最大数量 pm.max_requests = 300 #动态下最大链接数量   service php5-fpm restart


nginx proxy_cache 缓存加速

发布于 2016-10-16

上一篇 Nginx fastcgi_cache 因为我是nginx代理访问内网树莓派上的博客,因为懒吧不想在去捣腾树莓派了就简单一点用proxy_chche 缓存吧 修改nginx.conf   添加: #cache begin proxy_buffering on; proxy_cache_valid any 10m; proxy_cache_path /data/cache levels=1:2 keys_zone=my-cache:8m max_size=1000m inactive=600m; proxy_temp_path /data/temp; proxy_buffer_size 4k; proxy_buffers 100 8k; #cache end     location / { proxy_pass http://ip地址:80; proxy_cache my-cache; proxy_cache_valid 200; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #Proxy Settings proxy_redirect off; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size ...


Nginx fastcgi_cache缓存对WordPress博客

发布于 2016-10-16

转自 猫 在原文修改配置文件。 nginx.conf配置文件添加: fastcgi_cache_path /tmp/wpcache levels=1:2 keys_zone=WORDPRESS:250m inactive=1d max_size=5G; fastcgi_temp_path /tmp/temp/; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; server { listen 80; #请修改为自己的域名 server_name iiong.com; index index.html index.htm index.php default.html default.htm default.php; #请修改为自己网站的存放路径 root /data/wwwroot/iiong.com; set $skip_cache 0; #post访问不缓存 if ($request_method = POST) { set $skip_cache 1; } #动态查询不缓存 if ($query_string != "") { set $skip_cache 1; } #后台等特定页面不缓存(其他需求请自行添加即可) if ...


Nginx 开启ssl https访问

发布于 2016-09-19

刚开始弄觉得好麻烦怎么都不成功,后来无意间发现原来是其他程序占用了443端口   ,害我捣腾了好久,然后因为各种问题 没有启用https  站点所有资源都要使用https才会显示绿色的小锁 server { listen 80; listen 443 ssl; ssl on; ssl_certificate 1_www.moenyi.cn_bundle.crt; ssl_certificate_key 2_www.moenyi.cn.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; server_name www.moenyi.cn moenyi.cn; charset utf8; location / { proxy_pass http://172.16.0.10:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }   http跳转https 我选择的是的在80端口设置一个html文件   <html> <meta http-equiv="refresh" content="0;url=https://www.moenyi.cn/"> </html> 然后在nginx的配置里面设置 主页文件指向这个html 顺便设置404错误页直接跳转https error_page  404     ...


Apache换Nginx

发布于 2016-09-16

apache耗内存越来越大了,树莓派要吃不消了。动不动就4~500内存去了,所以决定换轻量级的nginx,主要也是闲的 然后卸载之前的 程序   apache mysql    安装nginx    mysqlite 各种问题   数据库导入弄了好久  然后 nginx的重定向然后一堆乱七八糟的 又是一天过去了   sudo apt-get autoremove --purge sudo apt-get install nginx php5-fpm php5-sqlite php5-gd 2、启动nginx sudo /etc/init.d/nginx start 5)重新加载nginx的配置 sudo /etc/init.d/nginx reload


简单设置 nginx 反代理

发布于 2016-09-08

只有一个公网IP,又不想实用其他端口   nginx 修改安装目录下 /conf/nginx.conf   在最后一个括号 } 前添加 include vhosts.conf;   然后在目录中新建vhosts.conf server { listen 80; server_name 改成域名; charset utf8; location / { proxy_pass http://改成需要代理的域名或ip:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }   保存 重启nginx