Nginx源码搭建
实验准备:
- 关闭防火墙
[root@nginx ~]# systemctl stop firewalld.service
- 安装selinux
[root@nginx ~]# setenforce 0
- 安装相关软件包
[root@nginx ~]# yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel
Ps:结合 proxy 和 upstream 模块实现后端 web 负载均衡 使用 proxy 模块实现静态文件缓存
- 解压并按照nginx
[root@nginx ~]# groupadd www
[root@nginx ~]# useradd -g www www -s /bin/false
[root@nginx ~]# ls
anaconda-ks.cfg nginx-1.12.0.tar.gz
ps:以1.12.0版本为例
[root@nginx ~]# tar zxf nginx-1.12.0.tar.gz -C /usr/src/
[root@nginx ~]# cd /usr/src/nginx-1.12.0/
[root@nginx nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module
[root@nginx nginx-1.12.0]# make && make install
- 配置nginx.conf
[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
Ps:在http{.....}中加入一下代码,IP是你web站点的ip,根据实际情况进行修改。
Weight参数标识权重,权重越大,被分配的概率越大。
注意{}要又开始,就要有结尾。
在location{...}中加入一下代码
Ps: proxy模块是在后端节点出现故障,通过此模块来进行web节点切换访问。
检测nginx配置文件
[root@nginx nginx-1.12.0]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- 启动nginx服务
[root@nginx nginx-1.12.0]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
上述前端就做好了。但是访问不了本机的nginx。
因为,已经做了nginx反向代理指向1.61~62的web节点。
###############################################################################
搭建后端web节点
图个方便使用yum安装nginx
进入nginx官网:http://nginx.org/
分别写入指定IP的web节点服务器中
Ps:Web2节点操作一样【关闭防火墙和selinux】
导入不同页面项目在web节点,用于测试
修改配置一般建议重启服务
通过客户机输入前端nginx的IP访问: