Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
- 参考:https://zhuanlan.zhihu.com/p/83890573
下载
http://nginx.org/en/download.html
- http://nginx.org/download/nginx-1.21.3.tar.gz
Nginx官网提供了三个类型的版本
- Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
- Stable version:最新稳定版,生产环境上建议使用的版本
- Legacy versions:遗留的老版本的稳定版
安装
# 安装gcc环境
yum install -y gcc-c++
# 第三方开发包:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。
# nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
# 注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
yum install -y pcre pcre-devel
# zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
# OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议
# nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
# 下载安装包到centos
wget http://nginx.org/download/nginx-1.21.3.tar.gz
# 解压到/usr/local下面
tar -zxf nginx-1.21.3.tar.gz -C /usr/local
进入到/usr/local/nginx-1.21.3执行
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-file-aio \
--with-http_realip_module
make && make install
然后就可以在/usr/local/nginx/sbin中启动Nginx
注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
mkdir /var/temp/nginx -p
cd /usr/local/nginx/sbin
# 启动
./nginx
# 查看是否启动
ps -aux | grep nginx
# ps命令用于报告当前系统的进程状态。
# -a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
# a:显示现行终端机下的所有程序,包括其他用户的程序。
# u:以用户为主的格式来显示程序状况。
# x:显示所有程序,不以终端机来区分。
------出现如下内容表示启动成功------
root 4092 0.0 0.0 46004 1128 ? Ss 11:40 0:00 nginx: master process ./nginx
nobody 4093 0.0 0.0 46460 1892 ? S 11:40 0:00 nginx: worker process
root 4095 0.0 0.0 112824 984 pts/0 S+ 11:40 0:00 grep --color=auto nginx
--------------------------------
# 关闭Nginx
./nginx -s stop
或者
./nginx -s quit
# 刷新配置文件
./nginx -s reload
启动访问成功!