搭建Nginx服务器(思路)
在IP地址为192.168.4.5的主机上安装Nginx服务,要求Nginx服务器编译时启用如下功能:
支持SSL加密功能
设置Nginx账户及组名称均为nginx
Nginx服务器升级到更高版本。
客户端访问页面验证Nginx Web服务器:
使用火狐浏览器访问
使用curl访问
----------------------------------------------------------------------
用clone-vm7克隆出4台新虚拟机。
配IP地址、主机名,并为每台主机配置yum源。不需要配置网关与DNS。
主机名 IP地址
client eth0(192.168.4.10/24)
proxy eth0(192.168.4.5/24)
eth1(192.168.2.5/24)
web1 eth1(192.168.2.100/24)
web2 eth1(192.168.2.200/24)
使用2台RHEL7虚拟机,一台作为Nginx服务器proxy(192.168.4.5)、另一台作为Linux客户机client(192.168.4.10)
安装nginx-1.10.3版本时,需要使用如下参数:
--with-http_ssl_module:提供SSL加密功能
--user:指定账户
--group:指定组
----------------------------------------------------------------------
添加eth1
nmcli connection add con-name eth1 ifname eth1 type ethernet
然后给它配IP
-----------------------------------------------------------------------
配置yum源
client,proxy都和真机的网卡private1(192.168.4.254)同网段,可以访问真机ftp里的yum源,ftp://192.168.4.254/rhel7
# vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7.0
baseurl=ftp://192.168.4.254/rhel7
enabled=1
gpgcheck=0
web1,web2都和真机的网卡private2(192.168.2.254)同网段,可以访问真机ftp里的yum源,ftp://192.168.2.254/rhel7
# vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7
baseurl=ftp://192.168.2.254/rhel7
enabled=1
gpgcheck=0
-----------------------------------------------------------------------
#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
指定安装路径 用户 组 模块:开启SSL加密功能
with-模块 #每加一个模块就多一个功能
without-模块 #可以禁用某个模块,某个功能
########################################################################
搭建Nginx服务器
在虚拟机proxy上操作:
1)使用源码包安装nginx软件包
# yum -y install gcc pcre-devel openssl-devel #安装依赖包。红帽制作的光盘里,文件名以-devel结尾的包都是依赖包。
# useradd -s /sbin/nologin nginx #创建登陆的同名用户,确保安全
# tar -xf nginx-1.10.3.tar.gz #解压
# cd nginx-1.10.3
#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module #配置,指定目录,用户,组,模块
# make && make install #编译并安装
------------------------------------------------------------------------
2.1)nginx命令的用法
# ln -s /usr/local/nginx/sbin/nginx /sbin/ #创建快捷方式到linux默认放置解释器目录/sbin下,启动服务就不用打路径的全名了。
# nginx #启动服务
# nginx -s stop #关闭服务
# nginx -s reload #重新加载配置文件。即不关服务,重新把配置文件读一遍。使用前提是服务已开启,如果服务是关闭的,它就会报错。
# nginx -V #查看软件信息
# ps aux | grep -v grep | grep nginx #也可以通过这个命令来查看软件信息
使用nginx -s reload,请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
-------------------------------------------------------------------------
netstat 命令查看系统中启动的端口信息,常用选项如下:
注意:在RHEL7系统中,使用ss命令替代netstat命令,功能一样,选项一样。
-a 显示所有端口的信息
-n 以数字格式显示端口号
-t 显示TCP连接的端口
-u 显示UDP连接的端口
-l 显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口
-p 显示监听端口的服务名称是什么(也就是程序名称)
--------------------------------------------------------------------------
2.2)nginx服务默认通过TCP 80端口监听客户端请求:
# netstat -atunlp | grep 80
# ss -atunlp | grep 80 #这个命令写法简单,在RHEL7系统中,效果跟netstat一样,选项一样。
----------------------------------------------------------------------------
3)设置防火墙与SELinux(克隆的虚拟机默认是关闭的,所以不用设置)
# firewall-cmd --set-default-zone=trusted
# setenforce 0
---------------------------------------------------------------------------
4)测试首页文件
Nginx Web服务默认首页文档存储目录为/usr/local/nginx/html/,在此目录下默认有一个名为index.html的文件。
使用客户端访问测试页面:
# curl http://192.168.4.5