安装 nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
nginx-1.12.0.tar.gz 所需要的包
yum install gcc
[root@server5 ~]# tar zxf nginx-1.12.0.tar.gz
[root@server5 ~]# ls
keepalived nginx-1.12.0 nginx-1.12.0.tar.gz
[root@server5 ~]# cd nginx-1.12.0
[root@server5 nginx-1.12.0]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
[root@server5 nginx-1.12.0]# ./configure --prefix=/usr/local/nginx
[root@server5 nginx-1.12.0]# yum install zlib-devel -y
[root@server5 nginx-1.12.0]# yum install ssl-devel -y
[root@server5 nginx-1.12.0]# yum install openssl-devel -y
[root@server5 ~]# vim /root/nginx-1.12.0/src/core/nginx.h
#define NGINX_VER "nginx/" 删除后面
[root@server5 ~]# vim /root/nginx-1.12.0/auto/cc/gcc
# debug
#CFLAGS="$CFLAGS -g" 注释掉
[root@server5 nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
make && make install
[root@server5 nginx-1.12.0]# cd /usr/local/
[root@server5 local]# cd nginx/
[root@server5 nginx]# ls
conf html logs sbin
[root@server5 nginx]# du -sh
944K .
[root@server5 nginx]# nginx
[root@server5 nginx]# curl -I server5
HTTP/1.1 200 OK
Server: nginx/
Date: Thu, 12 Apr 2018 01:51:22 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 12 Apr 2018 01:50:16 GMT
Connection: keep-alive
ETag: "5acebb58-264"
Accept-Ranges: bytes
[root@server5 ~]# cd /usr/local/nginx/conf/ 主配置目录
添加一个nginx 用户
[root@server5 nginx]# useradd nginx
i[root@server5 nginx]# id nginx
uid=500(nginx) gid=500(nginx) groups=500(nginx)
[root@server5 conf]# vim nginx.conf 编辑主配置文件
events {
worker_connections 65535; 更改为 65535
}
[root@server5 conf]# vim /etc/security/limits.conf 编辑这个文件
nginx - nofile 65535 最后一行
[root@server5 conf]# su - nginx
[nginx@server5 ~]$ ulimit -n
65535
[nginx@server5 ~]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7820
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[nginx@server5 ~]$ logout
负载均衡
[root@server5 conf]# vim /usr/local/nginx/conf/nginx.conf 编辑这个文件
user nginx nginx;
worker_processes 1;
worker_cpu_affinity 01;
http {
upstream westos {
server 172.25.31.2:80;
server 172.25.31.3:80;
}
server {
listen 80;
server_name www.westos.org;
location / {
proxy_pass http://westos;
}
}
在浏览器的主机中添加解析 172.25.31.5 www.westos.org
server2 中开启http服务
[root@server2 ~]# cat /var/www/html/index.html
<h1>www.westos.org-server2</h1>
server3 中开启http服务
[root@server3 ~]# cat /var/www/html/index.html
<h1>www.westos.org-server3</h1>
在浏览器中测试 www.westos.org
健康检查
backup
[root@server5 conf]# vim /etc/security/limits.conf 编辑这个文件
http {
upstream westos {
server 172.25.31.2:80;
server 172.25.31.3:80;
server 127.0.0.1:8080 backup;
}
server {
listen 8080;
server_name backup.westos.org;
charset utf-8;
location / {
root /backup;
index index.html;
}
}
mkdir /backup
echo backup > index.html
关闭 server2 和 server3 假设 server2 和 3 都不能访问了,会找到backup目录中index.html
在本机中添加解析 172.25.31.5 www.westos.org
测试 :在浏览器中测试 www.westos.org