深入浅析nginx部署及简单优化

 更新时间:2018年08月30日 11:40:09   作者:刘木工  
Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。本文重点给大家介绍nginx部署及简单优化方案,感兴趣的朋友一起看看吧

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部署及简单优化 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 云服务器使用宝塔搭建Python环境,运行django程序

    云服务器使用宝塔搭建Python环境,运行django程序

    本文详细讲解了在云服务器使用宝塔搭建Python环境,运行django程序的方法。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • Nginx代理Partainer的具体使用

    Nginx代理Partainer的具体使用

    本文主要介绍了Nginx代理Partainer的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Nginx记录分析响应慢的请求及替换网站响应内容的配置

    Nginx记录分析响应慢的请求及替换网站响应内容的配置

    这篇文章主要介绍了Nginx记录分析响应慢的请求及替换网站响应内容的配置,分别用到了ngx_http_log_request_speed模块和ngx_http_sub_module模块,需要的朋友可以参考下
    2016-01-01
  • Nginx中配置过滤爬虫的User-Agent的简单方法

    Nginx中配置过滤爬虫的User-Agent的简单方法

    这篇文章主要介绍了Nginx中配置过滤爬虫的User-Agent的简单方法,文中罗列了一些常用搜索引擎的爬虫名称以免造成不必要的过滤,需要的朋友可以参考下
    2016-01-01
  • Nginx配置HTTP强制跳转到HTTPS的解决办法

    Nginx配置HTTP强制跳转到HTTPS的解决办法

    这篇文章主要给大家介绍了关于Nginx配置HTTP强制跳转到HTTPS的解决办法,当Nginx配置https后通常需要将用户http请求强制跳转到https,需要的朋友可以参考下
    2023-08-08
  • Nginx对网段内ip的连接数限流配置详解

    Nginx对网段内ip的连接数限流配置详解

    这篇文章主要介绍了Nginx对网段内ip的连接数限流配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Prometheus监控实战篇Nginx、Hbase操作详解

    Prometheus监控实战篇Nginx、Hbase操作详解

    这篇文章主要介绍了Prometheus监控实战篇Nginx、Hbase,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • nginx配置域名转发到其他域名的几种方法小结

    nginx配置域名转发到其他域名的几种方法小结

    本文主要介绍了nginx配置域名转发到其他域名的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 详解如何部署H5游戏到nginx服务器

    详解如何部署H5游戏到nginx服务器

    这篇文章主要介绍了详解如何部署H5游戏到nginx服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Nginx配置ssl证书(https)的全过程

    Nginx配置ssl证书(https)的全过程

    这篇文章主要介绍了Nginx配置ssl证书(https)的过程,在文中大家需要特别注意,如果有防火墙的话,记得开通443端口,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10

最新评论