实验前提
server1:172.25.55.1(有nginx安装包)
server2:172.25.55.2(下载httpd)
server3:172.25.55.3(下载httpd)
一、编译、安装nginx
[root@server1 nginx-1.15.7]# vim src/core/nginx.h
14 #define NGINX_VER "nginx/" (去掉nginx版本,防止被攻击)
[root@server1 nginx-1.15.7]# vim auto/cc/gcc
171 # debug
172 #CFLAGS="$CFLAGS -g"(注释debug日志,否则占用内存太多)
[root@server1 nginx-1.15.7]# ./configure --prefix=/usr/local/nginx/
--with-http_ssl_module --with-http_stub_status_module
--with-threads --with-file-aio (完全异步)
[root@server1 nginx-1.15.7]#make && make install
[root@server1 ~]# lscpu(查看cpu内核数)
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
我们可以在虚拟机管理器中改变cpu数。
二、编辑Nginx配置文件
[root@server1 conf]# pwd
/usr/local/nginx/conf
[root@server1 conf]# vim nginx.conf
2 user nginx nginx;(用户、组)
3 worker_processes 4;(worker进程与内核数相同,也可使用auto,但此模式有时不均衡)
4 worker_cpu_affinity 0001 0010 0100 1000;
13 events {
14 worker_connections 65535;
15 }
16
17
18 http {
19 upstream westos {
20 server 172.25.55.2:80;
21 server 172.25.55.3:80;
22 server 127.0.0.1:80 backup;
23 }
24 include mime.types;
25 default_type application/octet-stream;
124 server {
125 listen 80;
126 server_name www.westos.org;
127
128 location / {
129 proxy_pass http://westos;
130 }
131 }
[root@server1 conf]# /usr/local/nginx/sbin/nginx -t(语法检测,如果报错则检查配置文件)
[root@server1 conf]# /usr/local/nginx/sbin/nginx(打开Nginx,为方便打开服务,我们也可以为其做软链接)
- 查看进程,nginx有一个master进程,4个worker进程。
- 在server1上编辑网页:
- server2编辑网页,并开启httpd服务:
- server3编辑网页,并开启httpd服务:
三、测试:
客户端要有域名解析:
[kiosk@foundation55 新4]$ vim /etc/hosts
172.25.55.1 server1 www.westos.org bbs.westos.org
- 当两个服务器都运行时:
- 当server2服务端出现问题后:
- 当两个服务器出现问题后: