一.安装前创建用户以及安装依赖包
1.软件依赖包安装
pcre-devel: perl语言正则表达式兼容软件包
openssl-devel:使系统支持https方式访问
yum install -y pcre-devel openssl-devel
2.创建虚拟用户
useradd www -s /sbin/nologin/ -M
3.下载并解压nginx软件
cd /server/tools&& cd /server/tools
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar xf nginx-1.12.2.tar.gz
二.编译安装nginx
1.编译配置
./configure --prefix=/application/nginx-12.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
--prefix=PATH 指定软件安装在什么目录下
--user=USER 指定软件worker进程管理用户,利用www虚拟用户管理worker进程
--group=USER
--with-http_ssl_module 使nginx程序可以支持HTTPsF访问功能
--with-http_stub_status_module 用于监控用户访问nginx服务情况
2.编译过程
3.编译安装
make && make install
4.创建软连接
ln -s /application/nginx-12.2 /application/nginx
5.启动nginx
/application/nginx/sbin/nginx #启动
/application/nginx/sbin/nginx -t 查看配置是否正确
6.精简nginx.conf配置文件内容:
grep -Ev "#|^$" nginx.conf.default >nginx.conf
7.nginx配置文件组成:
①. main nginx主区块
②. event nginx事件区块
③. http nginx http功能区块
④. server nginx 网站主机区块
⑤. location nginx 匹配或者定位区块
html --- nginx程序站点目录
logs --- nginx程序日志文件保存目录
sbin --- nginx程序命令所在目录
8.nginx命令参数说明
-V --- 查看nginx软件编译配置参数
-t --- 检查nginx配置文件语法格式是否正确
-s --- 用于管理nginx服务运行状态
stop 停止nginx服务
reload 平滑重启nginx服务器
重启nginx服务
nginx -s stop 先停止 ( /application/nginx/sbin/nginx -s stop )
nginx 再启动 ( /application/nginx/sbin/nginx )
三.编写nginx服务配置
1.实现编写一个网站页面
[root@web01 ~]# cat /application/nginx/conf/nginx.conf
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name www.augustyang.org; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
2.实现编写多个网站页面,编写多个虚拟主机, 这样便于管理每个虚拟虚拟主机 (基于域名的虚拟主机),还有基于端口,基于ip
1)编写多个站点
mkdir -p /application/nginx/html/{www,bbs,blog}
2)创建站点目录下首页文件:
for name in www bbs blog;do echo "10.0.0.7 $name.augustyang.org" >/application/nginx/html/$name/index.html;done
[root@web01 extra]# for name in www bbs blog;do cat /application/nginx/html/$name/index.html;done 10.0.0.7 www.augustyang.org 10.0.0.7 bbs.augustyang.org 10.0.0.7 blog.augustyang.org
3)配置虚拟主机
mkdir -p /application/nginx/conf/extra1 touch /application/nginx/conf/extra1/{bbs,blog,www}.conf
[root@web01 extra1]# pwd /application/nginx/conf/extra1 [root@web01 extra1]# cat * server { listen 80; server_name bbs.augustyang.org; location / { root html/bbs; index index.html index.htm; } } server { listen 80; server_name blog.augustyang.org; location / { root html/blog; index index.html index.htm; } } server { listen 80; server_name www.augustyang.org; location / { root html/www; index index.html index.htm; } }
4)配置hosts 解析
[root@web01 extra1]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.1.7 www.augustyang.org 172.16.1.7 bbs.augustyang.org 172.16.1.7 blog.augustyang.org
5)修改nginx.conf文件
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include extra1/www.conf; include extra1/bbs.conf; include extra1/blog.conf; }
6)访问测试
[root@web01 extra1]# curl bbs.augustyang.org 10.0.0.7 bbs.augustyang.org [root@web01 extra1]# curl www.augustyang.org 10.0.0.7 www.augustyang.org [root@web01 extra1]# curl blog.augustyang.org 10.0.0.7 blog.augustyang.org
7)基于端口的虚拟主机
[root@web01 extra1]# pwd /application/nginx/conf/extra1 [root@web01 extra1]# cat * server { listen 80; server_name bbs.augustyang.org; location / { root html/bbs; index index.html index.htm; } } server { listen 81; server_name blog.augustyang.org; location / { root html/blog; index index.html index.htm; } } server { listen 82; server_name www.augustyang.org; location / { root html/www; index index.html index.htm; } }
8) 测试 (基于端口的虚拟主机测试)
[root@web01 extra1]# curl bbs.augustyang.org 10.0.0.7 bbs.augustyang.org [root@web01 extra1]# curl blog.augustyang.org:81 10.0.0.7 blog.augustyang.org [root@web01 extra1]# curl www.augustyang.org:82 10.0.0.7 www.augustyang.org
备注 当访问不存在的时候, 会默认跳转到80端口的虚拟主机
[root@web01 extra1]# curl www.augustyang.org
10.0.0.7 bbs.augustyang.org
需要注意的是:nginx服务中只要涉及IP地址的修改,都需要重启nginx服务,而不能采用平滑重启