Nginx简介及安装
Nginx简介
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,目前国内70%以上公司都在使用nginx作为自己的web服务器。Nginx特点是占有内存少、并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
Nginx相对于Apache优点:
- 高并发响应性能非常好,官方Nginx处理静态文件并发5w/s
- 反向代理性能非常强(可用于负载均衡)
- 内存和cpu占用率底(为Apache的1/5--1/10)
- 对后端服务有健康检查功能
- 支持PHP cgi方式和fastcgi方式
- 配置代码简洁且容易上手
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的./configure
和make
完成。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时无需重新编译)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律