Nginx源码安装配置
Nginx web服务器简介
Nginx ("engine x") 是一个高性能HTTP 和 反向代理 服务器、IMAP、POP3、SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
Nginx处理请求过程
1.nginx 程序开启之后 ,nginx 命令启动给nginx 程序发送启动信号,nginx 会开启master进程,由master读取配 置文件决定开启几个worker进程。
2.每个worker进程都是从Master进程fork生成出来,在Master进程里面,建立好需要listen 80端口的socket连接 (listenfd)之后,会fork出多个worker进程。
3.所有worker进程的listenfd会在被连接或者被请求到来时变得可读可连接,为保证只有一个进程处理该连接,所有 worker进程在注册listenfd读事件链接前抢accept_mutex“令牌”,抢到互斥锁“令牌”的那个进程注册listenfd读事件 链接,在读事件里调用accept信号接受该连接。
4.当一个worker进程在accept信号这个连接之后,就开始读取请求、解析请求、处理请求,产生数据后,再返回给客户 端,最后才断开连接,这样形成一个完整的请求流程
Nginx管理命令:
/usr/local/nginx/sbin/nginx 启动nginx
/usr/local/nginx/sbin/nginx -t 检测nginx配置文件是否正确
/usr/local/nginx/sbin/nginx -s stop 关闭nginx
/usr/local/nginx/sbin/nginx -s reload 平滑启动nginx(在nginx服务不停止的情况下重新加载nginx配置文件)
Nginx 安装配置
(1)下载 Nginx 源码包
cd /usr/src
wget -c nginx.org/download/nginx-1.14.0.tar.gz
(2)解压 Nginx 源码包
tar xf nginx-1.14.0.tar.gz
(3)进入 Nginx 源码包解压目录;创建 www 用户
cd nginx-1.14.0
useradd www
(4)安装 pcre 库 openssl 库 gcc 编译器
yum install pcre-devel pcre openssl-devel gcc-c++ -y
(5)预编译 Nginx
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
(6)make 编译
make
(7)make install 安装
make install
到此Nginx web服务器已经安装完成
----------------------------------------------------------------------------------------------------------------------------------
启动 Nginx
/usr/local/nginx/sbin/nginx
查看 Nginx进程是否已启动
临时关闭SELinux
setenforce 0
关闭firewalld防火墙(也可以写防火墙允许80端口通过规则)
systemclt stop firewalld
通过浏览器访问Nginx默认测试页