Nginx服务器的安装配置

简介:

本笔记是以CentOS 操作系统为基础,参考张宴的《实战Nginx取代Apache的高性能Web服务器》一书,里面有个人经验,本博文最后有一个添加Nginx服务控制脚本,是张宴一书没有的。
---------------------------------------------------
1.确保操作系统安装有GCC编译器。
GCC编译器及相关工具:GCC全称为GNU Compiler Collection,是GNU社区推出的功能强大、性能优越的用于编程开发的自由编译器,是GNU的代表作品之一,目前可以编译的语言包括:C、C++、Objective-C、Fortran、Java等。您必须确保您的操作系统安装有GCC编译器。
另外,还必须安装Autoconf 和 Automake工具,它们用于自动创建功能完善的Makefile,当前大多数软件包都是用这一工具生成Makefile的,Nginx也不例外。在CentOS系统下,使用yum命令安装GCC编译器及相关工具。


  
  
  1. yum -y install gcc gcc-c++ autoconf automake 

2.模块依赖性:Nginx的一些模块需要其他第三方库的支持,例如gzip模块需要zlib库,rewrite模块需要pcre库,ssl功能需要openssl库等。同样,在CentOS系统下,使用yum命令安装或下载源码包编译安装这些模块依赖的库。


  
  
  1. yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel 

3.Nginx的最简单安装命令如下。


  
  
  1. tar   zxvf   nginx-x.x.xx.tar.gz     (x.x.xx:为版本号)  
  2. cd   nginx-x.x.xx.tar.gz  
  3. ./configure --with-http_stub_status_module  
  4. make  
  5. make install  
按照以上命令,Nginx将被默认安装到/usr/local/nginx目录下。

4.Nginx的configure脚本支持的选项。(可以通过  ./configure  --help命令查看Nginx可选择的编译选项,以下仅列出本人比较常用的选项


  
  
  1. --prefix=<path>   ——Nginx安装路径,如果没有指定,默认为  /usr/local/nginx  
  2. --sbin-path=<path>  ——Nginx可执行文件安装路径。只能安装时指定,如果没有指定,默认为<prefix>/sbin/nginx  
  3. --conf-path=<path>  ——在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf  
  4. --pid-path=<path>  ——在nginx.conf中没有指定pid指令的情况下,默认的nginx.pid的路径。如果没有指定,默认为<prefix>/logs/nginx.conf  
  5. --error-log-path=<path>  ——在nginx.conf中没有指定error_log指令的情况下,默认的错误日志的路径。如果没有指定,默认为<prefix>/logs/error.log  
  6. --http-log-path=<path>  ——在nginx.conf中没有指定access_log指令的情况下,默认的访问日志的路径。如果没有指定,默认为<path>/logs/access.log  
  7. --user=<path>  ——在nginx.conf中没有指定user指令的情况下,默认的Nginx使用的用户。如果没有指定,默认为nobody  
  8. --group=<path>  ——在nginx.conf中没有指定user指令的情况下,默认的Nginx使用的组,如果没有指定,默认为nobody  
  9. --with-http_ssl_module  ——开启HTTP SSL模块,使Nginx可以支持HTTPS请求。这个模块需要已经安装 openssl ,在debian上是libssl  
  10. --with-http_dav_module  ——启用ngx_http_dav_module  
  11. --with-http_flv_module  ——启用ngx_http_flv_module  
  12. --with-http_gzip_module  ——启用ngx_http_gzip_module,需要zlib库的支持  
  13. --with-http_stub_status_module  ——启用“server status”统计页  
  14. --with-http_referer_module  ——启用ngx_http_referer_module,当浏览器向web服务器发送请求的时候,一般会带上referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理  
  15. --with-http_rewrite_module  ——启用ngx_http_rewrite_module,需要pcre库的支持  
  16. --with-http_proxy_module  ——启用ngx_http_proxy_module  
  17. --with-http_fastcgi_module  ——启用ngx_http_fastcgi_module  
  18. --http-client-body-temp-path=PATH  ——指定http客户端请求缓存文件存放目录的路径  
  19. --http-proxy-temp-path=PATH  ——指定http反向代理缓存文件存放目录的路径  
  20. --http-fastcgi-temp-path=PATH  ——指定http FastCGI缓存文件存放目录的路径  
  21. --with-mail  ——启用IMAP4/POP3/SMTP 代理模块  
  22. --with-mail_ssl_module  ——启用ngx_mail_ssl_module  
  23. --with-cpu-opt=CPU  ——为特定的CPU编译,有效的值包括:pentium 、pentiumpro 、pentium3 、pentium4 、athlon 、opteron 、amd64 、sparc64 、ppc64  
  24. --with-pcre=DIR  ——指定PCRE库的源代码的路径  
  25. --with-pcre-opt=OPTIONS  ——设置PCRE的额外编译选项  
  26. --with-md5=DIR  ——设置MD5库的源代码路径  
  27. --with-md5-opt=OPTIONS  ——设置MD5库的额外编译选项  
  28. --with-md5-asm  ——使用MD5汇编源码  
  29. --with-sha1=DIR  ——设置sha1库的源代码的路径  
  30. --with-sha1-opt=OPTIONS  ——设置sha1库的额外编译选项  
  31. --with-sha1-asm  ——使用sha1汇编源码  
  32. --with-zlib=DIR  ——设置zlib库的源代码路径  
  33. --with-zlib-opt=OPTIONS  ——设置zlib库的额外编译选项  
  34. --with-openssl=DIR  ——设置openssl库的源代码路径  
  35. --with-openssl-opt=OPTIONS  ——设置openssl库的额外编译选项  
  36. --with-debug  ——启用调试日志  
  37. --add-module=PATH  ——添加一个在指定路径中能够找到的第三方模块 

在不同版本间,选项可能会有些许变化,请总是使用  ./configure  --help  命令来检查当前的选项列表。

5.Nginx的启动。 
启动Nginx,可以执行以下命令。假设Nginx安装在/usr/local/nginx目录中,那么启动Nginx的命令就是:


  
  
  1. /usr/local/nginx/sbin/nginx  -c  /usr/local/nginx/conf/nginx.conf  
参数“-c”指定了配置文件的路径,如果不加“-c”参数,Nginx会默认加载其安装目录的conf子目录中的nginx.conf文件,在本来中即:/usr/local/nginx/sbin/nginx -c /conf/nginx.conf   。

6.查看Nginx的主进程号:


  
  
  1. ps  -ef  |  grep  nginx 

image

从上图中可以看到,1个Nginx进程的备注信息为“master  process”,表示它为主进程,另外的4个进程备注信息为“workers  process”,表示它们为子进程。

7.检查Nginx的配置文件。 
确认Nginx配置文件(nginx.conf)语法的正确性,是启动、重启Nginx的前提,使用以下命令检查:


  
  
  1. /usr/local/nginx/sbin/nginx –t  
配置文件正确,屏幕将提示以下两行信息:
image

配置文件错误,屏幕将会提示配置文件的第几行出错: 
image

8.使用系统信号控制Nginx进程。 
Nginx通过识别标准的系统信号来控制进程状态。如:HUP、QUIT、TERM、INT等。(可以使用“kill  -l”命令查看可用的进程控制信号列表)


  
  
  1. killall  -s   HUP  nginx       //重新加载配置文件,等同于“killall  -1  nginx”  
  2. killall  -s   QUIT  nginx      //安全退出,等同于“kill –3  nginx”  
  3. killall  -s   TERM  nginx    //快速退出,不等待处理完当前连接 

9.添加Nginx服务控制脚本。 
考虑到CentOS的使用习惯,可以添加一个Nginx服务脚本,以便使用chkconfig和service命令管理Nginx服务。(本脚本在RHEL上可以使用)


  
  
  1. vi  /etc/init.d/nginx 
  2.  
  3. #!/bin/sh  
  4. #chkconfig: – 90 20  
  5. #description: Nginx Server Control Script  
  6. #          //如需使用chkconfig管理,注意以上两行内容不可少  
  7. case “$1” in  
  8.     start)  
  9.           /usr/local/nginx/sbin/nginx  
  10.           ;;  
  11.     stop)  
  12.          /usr/bin/killall  -s  QUIT  nginx  
  13.          ;;  
  14.     restart)  
  15.         $0  stop  
  16.         $0  start  
  17.          ;;  
  18.     reload)  
  19.          /usr/bin/killall   -s   HUP  nginx  
  20.          ;;  
  21.     *)  
  22.                    echo “Usage: $0 {start|stop|restart|reload}”  
  23.                    exit  1  
  24. esac  
  25. exit  0 
  26.  
  27. chmod  a+x  /etc/init.d/nginx     //添加执行权限  
  28. chkconfig  --level  2345  nginx  on    //设置开机启动 

以上Nginx脚本可以通过service命令进行管理控制。


  
  
  1. service  nginx  stop     //关闭  
  2. service  nginx  start    //启动  
  3. service  nginx  restart  //重启 
  4. service  nginx  reload   //重新加载 

 










本文转自 jundong 51CTO博客,原文链接:http://blog.51cto.com/minitoo/850654,如需转载请自行联系原作者
目录
相关文章
|
3天前
|
存储 弹性计算 人工智能
2025年阿里云企业云服务器ECS选购与配置全攻略
本文介绍了阿里云服务器的核心配置选择方法论,涵盖算力需求分析、网络与存储设计、地域部署策略三大维度。针对不同业务场景,如初创企业官网和AI模型训练平台,提供了具体配置方案。同时,详细讲解了购买操作指南及长期运维优化建议,帮助用户快速实现业务上云并确保高效运行。访问阿里云官方资源聚合平台可获取更多最新产品动态和技术支持。
|
2天前
|
存储 人工智能 缓存
怎么根据自己的业务选择阿里云服务器配置大小?
本文指导如何根据业务需求精准选择阿里云服务器配置,涵盖个人轻量级至企业级、计算密集型等场景,推荐不同实例类型、存储与带宽方案,并提供成本优化策略,如包年包月节省成本、按需升级配置及选用性价比高的自研ARM架构实例。帮助用户在数字化转型中实现性能与成本的平衡。 注:以上配置与价格基于阿里云2025年官方数据,实际信息可能有所调整,请以官网实时页面为准。
|
2天前
|
人工智能 运维 监控
2025年阿里云服务器配置选择全攻略:CPU、内存、带宽与系统盘详解
在2025年,阿里云服务器以高性能、灵活扩展和稳定服务助力数字化转型,提供轻量应用服务器、通用型g8i实例等多样化配置,满足个人博客至企业级业务需求。针对不同场景(如计算密集型、内存密集型),推荐相应实例类型与带宽规划,强调成本优化策略,包括包年包月节省成本、ESSD云盘选择及地域部署建议。文中还提及安全设置、监控备份的重要性,并指出未来可关注第九代实例g9i支持的新技术。整体而言,阿里云致力于帮助用户实现性能与成本的最优平衡。 以上简介共计238个字符。
|
2天前
|
存储 人工智能 监控
新手小白购买阿里云服务器省钱策略、配置选型与注意事项
针对初次使用阿里云服务器的用户,本文提供系统化的指导方案以优化成本并满足业务需求。首先介绍配置选型,包括实例类型(通用型、计算型、内存型)与基础配置建议;其次阐述省钱策略,如企业认证、合理选择计费模式及批量购买;最后提醒注意事项,涵盖带宽存储规划、地域网络优化及安全管理。新手可通过明确需求、选择配置、优化购买和持续监控四步快速上手,实现高效稳定的云端部署。 注:推荐配置基于2025年阿里云产品体系,具体信息请参考官网。
|
5天前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
21天前
|
存储 应用服务中间件 Linux
nginx配置证书和私钥进行SSL通信验证
nginx配置证书和私钥进行SSL通信验证
56 4
|
2月前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
2月前
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
207 9
|
2月前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
100 5
|
2月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。