6,安装nginx
6.1 依赖库安装 要安装在root根目录里,不要装在虚拟环境里面
yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
6.2 下载源码包
yum install wget # 需要提前下载wget工具
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
6.3 解压缩源码
tar -zxvf nginx-1.12.0.tar.gz
6.4 切换到nginx源码包路径
cd nginx-1.12.0
6.5 配置,编译安装
./configure --prefix=/opt/nginx1-12/ # 注意这里指定了将解压文件存放到的路径,是从根目录开始的 make && make install
6.6 启动nginx,进入sbin目录,找到nginx启动命令
cd ~ # 先回到根目录
cd /opt # 进入这个文件夹,注意这个文件夹被隐藏了
ls # 查看opt文件夹里面的子文件或文件夹会看到 nginx1-12
cd nginx1-12 # 进入这个文件夹
ls # 显示子文件或文件夹,会看到sbin文件夹
cd sbin # 进入sbin文件夹,sbin文件时放的启动nginx的配置,注意:cd sbin不要写成 cd /sbin,这样进去的是根目录里面的sbin,就进错目录了
#注意一定记得关闭防火墙
./nginx # 启动
./nginx -s stop # 关闭
./nginx -s reload # 重新加载
cd nginx1-12 #
netstat -tunlp | grep 80 # 服务启动没启动,去看端口来判断。80端口就是net默认的端口
ps -ef | grep nginx # 然后看nginx程序跑起来没
ip a # 看ip地址,第二个地址是10.0.0.200。然后通过浏览器访问一下。看到
Welcome to nginx!
表示,服务启动成功!
7,nginx日志访问功能
承接上面的继续:
7.1 进入nginx的配置目录
cd conf/ # 在nginx1-12目录里面sbin文件是和启动服务相关,conf和配置相关。进入conf目录后会看到一个nginx.conf主配置文件。
7.2 编辑nginx.conf,并打开access.log的日志功能
vim nginx.conf # 然后输入i进入编辑模式,然后将下面四行的注释符去掉,日志就生效了。保存退出:wq
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
7.3 重启nginx
cd ../sbin # 进入sbin目录重启nginx
nginx -s reload
7.4 查看效果
cd ../logs # 进入nginx1-12里面免得logs目录,这个目录和日志相关。
access.log # 这样就可以看浏览器访问10.0.0.200的日志记录了,里面可以看请求方式,浏览器信息等
7.5 增加黑名单
vim nginx.conf # 在编辑里面加黑名单
# 按照下面的方式添加ip地址即可
error_page 500 502 503 504 /50x.html;
location = /50x.html {
deny 196.128.12.94;
deny 196.128.12.9;
root html;
}
注意:添加完黑名单记得重启nginx服务就行了
8,nginx的反向代理
8.1 准备
nginx的负载均衡也叫反向代理
准备两台虚拟机服务器并安装好nginx,并启动服务。我准备的是10.0.0.200和10.0.0.128
8.2 主负载均衡节点的配置文件,就是在它们的配置文件修改参数
10.0.0.128当作主服务器
cd /opt/nginx1-12/conf # 进入配置文件目录
vim nginx.conf # 修改配置文件
i # 输入i进入编辑模式
location / {
proxy_pass http://10.0.0.200; # 在location添加proxy_pass http://10.0.0.200 添加副服务器的地址
root html;
index index.html index.htm;
}
# 保存并退出,然后重启nginx服务。
10.0.0200当作副服务器
# 进入nginx1-12目录,ls 会看到一个html
cd html # 进入html目录,ls 会看到index.html
vim index.html # 编辑页面,添加一句话 <h1>这是200副服务器的index页面</h1>,注意会乱码,在<head>加<meta charset=utf8>就不会乱码了
# 然后进入sbin目录重启服务,然后浏览器访问10.0.0.128就会看到呈现的是200副服务器给的index页面
# 总结:就是访问主服务器,主服务器将请求转给副服务器处理,返回副服务器的页面
cat /etc/redhat-release 看版本
uname -r 看内核
uname -r 看内核