Nginx web服务器简介nginx
Nginx ("engine x") 是一个高性能HTTP 和 反向代理 服务器、IMAP、POP三、SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。c++
Nginx处理请求过程web
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信号接受该链接。socket
4.当一个worker进程在accept信号这个链接以后,就开始读取请求、解析请求、处理请求,产生数据后,再返回给客户 端,最后才断开链接,这样造成一个完整的请求流程性能
Nginx管理命令:测试
/usr/local/nginx/sbin/nginx 启动nginx代理
/usr/local/nginx/sbin/nginx -t 检测nginx配置文件是否正确htm
/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默认测试页