nginx安装,配置、虚拟主机、轮询、域名重定向,nginx轮询
nginx安装,配置、虚拟主机、轮询、域名重定向,nginx轮询
一、Nginx 下载
在http://nginx.org官网上下载安装包。nginx-1.12.0.tar.gz
二、.Nginx 安装
1).解压及简单配置
[root@server1 ~]# yum install gcc -y ##安装gcc
[root@server1 ~]# tar zxf nginx-1.12.0.tar.gz ##解压nginx-1.12.0.tar.gz
[root@server1 ~]# ls
nginx-1.12.0 nginx-1.12.0.tar.gz
[root@server1 ~]# cd nginx-1.12.0
[root@server1 ~]# vim auto/cc/gcc
178 # debug
179 #CFLAGS=”$CFLAGS -g” ##禁止debug调试
[root@server1 nginx-1.12.0]# vim src/core/nginx.h
14 #define NGINX_VER “nginx/” ##禁止出现nginx的版本号
2)软件配置
[root@server1 nginx-1.12.0]# ./configure –prefix=/usr/local/nginx –with-http_ssl_module –with-file-aio –with-threads –with-http_stub_status_module
如果出现以下错误:
[root@server1 nginx-1.12.0]# yum install pcre-devel.x86_64 -y
重新配置:
[root@server1 nginx-1.12.0]# ./configure –prefix=/usr/local/nginx –with-http_ssl_module –with-file-aio –with-threads –with-http_stub_status_module
如果出现以下错误:
[root@server1 nginx-1.12.0# yum install openssl-devel.x86_64 -y
重新配置:
[root@server1 nginx-1.12.0]# ./configure –prefix=/usr/local/nginx –with-http_ssl_module –with-file-aio –with-threads –with-http_stub_status_module
3.编译、安装
[root@server1 nginx-1.12.0]# make
[root@server1 nginx-1.12.0]# make install
4、作软链接将nginx的启动命令作为系统命令。
[root@server1 sbin]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@server1 conf]# nginx -t ##检测
[root@server1 conf]# nginx -s reload ##重新加载
三、配置
1.创建管理niginx的用户
[root@server1 conf]# useradd -M -d /usr/local/nginx/ -s /sbin/nologin -u 800 nginx
[root@server1 conf]# vim nginx.conf ##修改配置文件
user nginx nginx; ##修改nginx的用户和组
worker_processes 2; ##两块cpu
worker_cpu_affinity 01 10; ##绑定cpu
[root@server1 conf]# nginx -t ##检测
[root@server1 conf]# nginx -s reload ##重新加载
2.nginx访问加密
[root@server1 conf]# vim nginx.conf
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem;
ssl_certificate_key cert.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
}
[root@server1 certs]# pwd
/etc/pki/tls/certs
[root@server1 certs]# make cert.pem ##生成自定义证书
[root@server1 conf]# nginx -t
[root@server1 conf]# nginx -s reload
测试:https://172.25.6.1
四、虚拟主机
虚拟主机允许一个http服务器同时为多个额昂战提供服务
[root@server1 conf]# vim nginx.conf
server {
listen 80;
server_name www.westos.org;
location / {
root /www;
index index.html;
}
}
server {
listen 80;
server_name bbs.westos.org;
location / {
root /bbs;
index index.html;
}
}
[root@server1 conf]# nginx -t
[root@server1 conf]# nginx -s reload
[root@server1 conf]# mkdir /www ##建立默认发布目录
[root@server1 conf]# cd /www
[root@server1 www]# vim index.html ##建立www.westos.org的默认发布文件
www.westos.server1
[root@server1 www]# mkdir /bbs ##建立默认发布目录
[root@server1 www]# cd /bbs
[root@server1 bbs]# vim index.html ##建立bbs.westos.org的解析文件
bbs.westos.server1
在测试主机里添加域名解析:
[root@foundation6 ~]# vim /etc/hosts
172.25.6.1 server1 www.westos.org bbs.westos.org
测试:
在浏览器中输入:www.westos.org bbs.westos.org
五、轮询
参数说明:
weight:权重。默认为1,weight越大,负载的权重越大。
backup:其他所有的服务器down之后,将会去请求backup服务器。
ip_hash:每个请求按照访问ip的hash结果分配,这样每个访客固定访问 一个后端服务器。
[root@server1 conf]# vim nginx.conf
http {
upstream westos {
server 172.25.6.2:80; ##服务器1
server 172.25.6.3:80; ##服务器2
}
server {
listen 80;
server_name www.westos.org; ##域名
location / {
proxy_pass http://westos;
}
}
server2:服务器1
[root@server2 ~]# yum install httpd -y ##安装http服务
[root@server2 ~]# /etc/init.d/httpd start ##开启http服务
[root@server2 ~]# cd /var/www/html/
[root@server2 html]# vim index.html ##默认发布目录
www.westos.org-server2
server3:服务器2
[root@server3 ~]# yum install httpd -y ##安装http服务
[root@server3 ~]# /etc/init.d/httpd start ##开启http服务
[root@server3 ~]# cd /var/www/html/
[root@server3 html]# vim index.html ##默认发布目录
www.westos.org-server3
测试:
[root@foundation6 ~]# for i in {1..6}; do curl www.westos.org; done
ip_hash
[root@server1 conf]# vim nginx.conf
测试:
[root@foundation6 ~]# for i in {1..6}; do curl www.westos.org; done
weight
[root@server1 conf]# vim nginx.conf
测试:
[root@foundation6 ~]# for i in {1..6}; do curl www.westos.org; done
backup
[root@server1 conf]# vim nginx.conf
关闭server2:服务器1的http服务
关闭server3:服务器2的http服务
测试:
cur www.westos.org
在浏览器里输入www.westos.org,输出的是本机http默认文件
六、域名重定向
[root@server1 conf]# vim nginx.conf
server {
listen 80;
server_name westos.org;
rewrite ^(.*) http://bbs.westos.org$1 permanent; ##bbs.westos.org的域名重定向为westos.org
}
在测试主机里添加westos.org的域名解析
[root@foundation6 ~]# vim /etc/hosts
172.25.6.1 server1 www.westos.org bbs.westos.org westos.org
测试:
[root@foundation6 ~]# curl -I westos.org
2.加密上传重定向域名
[root@server1 conf]# vim nginx.conf
# HTTPS server
#
server {
listen 443 ssl;
server_name bbs.westos.org;
ssl_certificate cert.pem;
ssl_certificate_key cert.pem;
server {
listen 80;
server_name westos.org;
rewrite ^(.*) https://bbs.westos.org$1 permanent;
}
[root@server1 conf]# nginx -t
[root@server1 conf]# nginx -s reload
测试:
[root@foundation6 ~]# curl -I westos.org
评论暂时关闭