理论部分
1.基本概念
Nginx(engine x)是一个高性能的HTTP和反向代理Web服务器,同时也提供了IMAP、POP3、SMTP服务。中国大陆使用Nginx网站用户有百度、京东、新浪、网易、腾讯、淘宝等。2.主要用途
在连接高并发的情况下,Nginx是Apache服务不错的替代品。Nginx在美国是做虚拟主机生产商经常选择的软件平台之一。它能支持高达50,000个并发连接数的响应,Nginx为用户选择了epoll and kqueue作为开发模型。 (1)服务器 (2)代码 (3)代理服务器3.Nginx的主要特点
(1)跨平台 (2)配置简单 (3)非阻塞、高并发连接 (4)事件驱动4.Nginx的发展趋势
到目前完为止,Nginx已经成为一个非常流行的Web服务器,根据Netcraft的统计,目前为止,世界上最繁忙的网站中有11.48%在使用Nginx作为其服务器或者代理服务器,而根据Alexa的统计数据,有超过14亿的Web网站现在正在使用该服务器,在排名前1,000的网站中有38.8%正在使用它,这一比例远远超过了Microsoft和Apache服务器,由此可见其发展速度有多快,受欢迎程度有多高。5.Nginx服务架构
Nginx服务器使用 master/worker多进程模式。主进程(Master process)启动后,会接收和处理外部信号;主进程启动后,通过fork( )函数产生一个或多个子进程(work process),每个子进程会进行进程初始化、模块调用以及对事件的接收和处理等工作。下图为Nginx服务架构图。实战案例
1.规划节点
Linux操作系统的单节点规划- IP 192.168.200.50
- 主机名 nginx
- 节点 Nginx节点
2.修改主机名
# hostnamectl set-hostname nginx
3.配置网络
具体配置参考 Linux网络配置4.配置yum源
具体配置参考 配置本地yum源5.安装配置基础服务
nginx # yum install gcc gcc-c++ openssl-devel zlib-devel zlib pcre-devel -y
创建指定用户这个nginx用户要和PHP服务器上创建的nginx两者id一致,这里先创建用户
nginx # groupadd -g 1001 nginx # 创建组 nginx # useradd -u 900 nginx -g nginx -s /sbin/nologin # 创建用户,uid为900,所属组为nginx,用户登陆的shell为/sbin/nologin nginx # tail -1 /etc/passwd # 查看用户
6.安装配置Nginx服务
使用远程传输工具,将提供的nginx-1.12.2.tar.gz压缩包上传至nginx节点的/usr/local/src/目录下,并解压到当前目录
nginx # cd /usr/local/src/ nginx # tar -zxvf nginx-1.12.2.tar.gz
进入nginx-1.12.2目录,编译并安装
nginx # cd nginx-1.12.2/ nginx #./configure --prefix=/usr/local/nginx --withhttp_dav_module \ --with-http_stub_status_module --with-http_addition_module \ --with-http_sub_module --with-http_flv_module --with-http_mp4_module \ --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx
如果没有报错提示,请进行下一步安装
nginx # make && make install
编译安装完毕后,创建软连接并启动测试
nginx # ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ nginx # nginx -t nginx # nginx nginx # netstat -ntpl
如果发现80端口启动,则表示Nginx服务启动成功。可以在浏览器访问地址192.168.200.50来查看是否出现Nginx的欢迎页面