Nginx--环境搭建

Nginx

(“engine x”)是俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器

在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品

Nginx进程

Nginx 采用了高度模块化的设计思路,并且内部的进程主要有两类

master 进程 和 worker 进程

其中 master 进程只有一个,worker 进程可以有多个

worker 进程才是真正 working 的进程,才是真正处理请求的进程。worker 进程全部都是 master 进程的子进程

worker 进程是以普通用户的身份进行运行的,这样就可以极大增加程序的安全性

就算是万一有一个进程被劫持,那也不会有管理员权限

nginx 的热部署和其并发模型有着密不可分的关系

因为 master 进程的关系,当通知 ngnix 重读配置文件的时候,master 进程会进行语法错误的判断

如果存在语法错误的话,返回错误,不进行装载;如果配置文件没有语法错误,那么 ngnix 也不会将新的配置调整到所有 worker 中

而是,先不改变已经建立连接的 worker,等待 worker 将所有请求结束之后

将原先在旧的配置下启动的 worker 杀死,然后使用新的配置创建新的 worker

搭建环境

yum install gcc opensll-devel zlib-devel -y

yum install -y pcre-*

PCRE 作用是让 Nginx 支持 Rewrite 功能

ll /root/Desktop/nginx-*.tar.gz

tar zxf nginx-*.tar.gz

cd nginx-*

mkdir ~/.vim

建立一个家目录下的隐藏目录

cp -r contrib/vim/* ~/.vim

让这个虚拟机的vim可以自动检测配置文件语法是否有错误

ls

configure
使用 ./configure 变编译
./configure --help

--prefix=PATH

set installation prefix

--with-file-aio

enable file AIO support

vim /root/Desktop/nginx-*/auto/cc/gcc

注释debug

172 CFLAGS="$CFLAGS -g"

vim /root/Desktop/nginx-*/src/core/nginx.h

关闭版本显示

防止恶意攻击

14 #define NGINX_VER "nginx/" NGINX_VERSION

删除 NGINX_VERSION

cd /root/Desktop/nginx-*

./configure --prefix=/usr/local/nginx --with-file-aio
编译
make && make install
安装
/usr/local/nginx/sbin/nginx
开启 nginx
netstat -antlup
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4809/nginx: master
通过 netstat 可查看到 nginx 开启后的状态

/usr/local/nginx/sbin/nginx -V

nginx version: nginx/
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 
configure arguments: --prefix=/usr/local/nginx --with-file-aio
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章