深入浅析nginx部署及简单优化
2018-08-30 11:40
871 查看
Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。
Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。
Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
研究nginx优化时反复安装清理nginx,为方便做了一个简单部署脚本,用的最新稳定版1.14.0,默认路径,加入systemd系统进程管理中,可以通过systemd管理nginx的启动、终止、重载、状态、开机自启等.
#!/bin/bash yum -y install gcc pcre pcre-devel sleep 2 cd ~ tar -zxvf ~/zlib-1.2.11.tar.gz cd ~/zlib-1.2.11 && ./configure && make && make install cd ~ tar -zxvf ~/nginx-1.14.0.tar.gz cd ~/nginx-1.14.0 && ./configure && make && make install cd ~ #/usr/local/nginx/sbin/nginx firewall-cmd --set-default-zone=trusted touch /lib/systemd/system/nginx.service echo "[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx reload ExecStop=/usr/local/nginx/sbin/nginx quit PrivateTmp=true [Install] WantedBy=multi-user.target" > /lib/systemd/system/nginx.service systemctl enable nginx.service systemctl restart nginx.service echo "nginx done"
需要再次覆盖nginx时,用awk找到nginx的进程然后kill掉,再次执行安装脚本就行.
kill -9 $`ps aux | grep 'nginx' | awk 'NR==2{print $2}'`
二、nginx优化
nginx优化配置集中在nginx.conf文件的main和events段.
main段中worker配置,可以通过work_cpu_affinity选项,按任务类型:CPU密集型或者IO密集型,根据实际业务情况绑定每个worker进程运行在哪个CPU核心上,(前提是系统必须为多核心CPU),例如
# 4核心CPU中,开启4个worker,每个worker分别对应cpu0/cpu1/cpu2/cpu. worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; # 4核心CPU中,也可以只开启2个worker,第一个worker对应cpu0/cpu2,第二个worker对应cpu1/cpu3. worker_processes 2; worker_cpu_affinity 0101 1010;
envents段中开启集中一次性接入连接请求和串行方式接入新连接
events { worker_connections 1024; # 每个worker最大连接数. multi_accept on; # 是否集中接入监听到的连接请求,默认为off,关闭时一次只接收一个连接. accept_mutex on # 默认为on,表示以串行方式接入新连接,off时,将通报给所有worker
其它的,例如HTTP段优化,sendfile、keepalive_timeout、gzip是nginx中必做.
总结
以上所述是小编给大家介绍的nginx部署及简单优化 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
相关文章推荐
- pypy+uwsgi+dango+nginx 简单部署
- 深入Nginx优化
- 安装Nginx服务器及简单优化
- Nginx核心配置深入理解及优化
- Nginx+IIS简单的部署
- Nginx+IIS简单的部署教程
- flask笔记:13:将Flask应用程序部署在nginx,tornado的简单方法
- Nginx自动安装脚本(比较简单,有待优化)
- Docker CE简单部署Nginx
- nginx的简单优化和反向代理
- Nginx核心配置深入理解及优化
- nginx + gunicorn + django的简单部署
- HTTPS协议介绍—使用Nginx+SSL实现部署与性能优化
- docker 部署简单nginx服务器
- 安装及简单部署nginx服务
- 针对nginx,大胆利用调试信息来部署应用(去掉优化参数)
- Windows环境将Flask应用程序部署在tornado+nginx的简单方法
- Nginx简单部署实现反向代理的功能,附带资源包
- vue 项目部署 nginx 开启gzip优化性能
- 编译安装nginx及简单优化配置