Torres-tao  

Nginx简介及安装

Nginx简介

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,目前国内70%以上公司都在使用nginx作为自己的web服务器。Nginx特点是占有内存少、并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

Nginx相对于Apache优点:

  1. 高并发响应性能非常好,官方Nginx处理静态文件并发5w/s
  2. 反向代理性能非常强(可用于负载均衡)
  3. 内存和cpu占用率底(为Apache的1/5--1/10)
  4. 对后端服务有健康检查功能
  5. 支持PHP cgi方式和fastcgi方式
  6. 配置代码简洁且容易上手

Nginx模块

核心模块:HTTP模块、EVENT模块和MAIL模块

基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块

第三方模块:HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块

Nginx安装

#环境准备
[root@aliyun ~]# yum install -y vim gcc telnet lrzsz openssl openssl-devel pcre pcre-devel
#下载Nginx源码包
[root@aliyun ~]# wget -c http://nginx.org/download/nginx-1.1.18.tar.gz
#创建nginx用户,并设置为不能登陆
[root@aliyun ~]# useradd -r -s /sbin/nologin nginx
#解压
[root@aliyun ~]# tar -xzf nginx-1.1.18.tar.gz 
#进入解压目录,进行预编译
[root@aliyun nginx-1.1.18]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
[root@aliyun nginx-1.1.18]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install
#检查nginx配置文件是否正确,返回ok即正确
[root@aliyun ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
#启动,测试nginx
[root@aliyun ~]# /usr/local/nginx/sbin/nginx
[root@aliyun ~]# ps -aux | grep nginx | grep -v grep
root     12091  0.0  0.0  45944  1088 ?        Ss   10:03   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx    12092  0.0  0.0  46348  1636 ?        S    10:03   0:00 nginx: worker process
#启动成功

常用编译选项说明

nginx大部分常用模块,编译时,.configure --help--without开头的都是默认安装

  • --prefix=PATH:指定nginx的安装目录,默认/usr/local/nginx
  • --conf-path=PATH:设置nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf
  • --user=name:设置nginx工作进程的用户。安装完成后,可以随时在nginx.conf配置文件更改user指令。默认用户名是nobody。--group=name类似
  • --with-pcre:设置PCRE库的源码路径,如果已通过yum命令安装,使用--wiith-pcre自动找到库文件。使用--with-pcre=PATH时,需要从PCRE网站下载pcre库的源码并解压,剩下的交给nginx的./configuremake完成。perl正则表达式使用在location指令ngx_http_rewrite_module模块中。
  • --with-zlib=PATH:指定zlib的源码解压目录。在默认就启用的网络传输压缩模块ngx_http_gzip_module时需要使用zlib
  • --with-http_ssl_module:使用https协议模块。默认情况下,该模块没有被构建。前提是openssl与openssl-devel已安装
  • --with-http_stub_status_module:用来监控nginx的当前状态
  • --with-http_realip_module:通过这个模块允许我们改变客户端请求头中客户端IP地址值(如X-Real-IP或X-Forwarded-For),意义在于能够使得后台服务器记录原始客户端的IP地址。
  • --add-module=PATH:添加第三方外部模块,如nginx-sticky-module-ng或缓存模块,每次添加新的模块都要重新编译(Tengine可以在新加入module时无需重新编译)

转自:https://www.cnblogs.com/maxtgood/p/9597596.html

posted on 2022-05-10 10:22  雷子锅  阅读(39)  评论(0编辑  收藏  举报