1.安装
下载或通过yum安装相应组件
安装组件:
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
解压下载的nginx源码包:
tar -zxvf nginx-1.10.3.tar.gz
安装nginx:
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-file-aio --with-threads --with-http_stub_status_module
make
make install
其中执行./configure 时报错需要检查–sbin-path=后面的值是否正确
make报错需要检查安装的组件是否有缺失
2.配置
1).启动
运行/usr/local/nginx/nginx 命令来启动 nginx
启动时需要确认本机的80端口未被占用,否则出现如下报错:
正常启动后,打开本机浏览器,输入本机IP,如下:
2).nginx的基本操作
启动
[root@foundation38 ~]# /usr/local/nginx/sbin/nginx
停止/重启
[root@foundation38 ~]# /usr/local/nginx/sbin/nginx -s stop(quit、reload)
命令帮助
[root@foundation38 ~]# /usr/local/nginx/sbin/nginx -h
验证配置文件
[root@foundation38 ~]# /usr/local/nginx/sbin/nginx -t
配置文件
[root@foundation38 ~]# vim /usr/local/nginx/conf/nginx.conf
3).基本配置Nginx
服务端:
useradd -M -d /usr/local/nginx/ -s /sbin/nologin -u 800 nginx
vim /usr/local/nginx/conf/nginx.conf
配置文件内容如下
user nginx nginx; nginx使用的用户及用户组
worker_processes 1; 核心数
#worker_processes 2;
#worker_cpu_affinity 01 10; 核心数为2的配置
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 65535; #最大访问量
#省略中间配置
http {
#省略中间配置
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem;
ssl_certificate_key cert.pem; 将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 sbin]# ./nginx -t ##测试配置文件是否正确
[root@server1 sbin]# /usr/local/nginx/sbin/nginx -s reload #刷新nginx
service iptables stop #关闭防火墙
客户端:
在浏览器中访问https://172.25.15.1:
4).简单配置
服务端:
vim /usr/local/nginx/conf/nginx.conf
#省略上面配置
http {
#省略中间配置
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 sbin]# ./nginx -t ##测试配置文件是否正确
[root@server1 sbin]# /usr/local/nginx/sbin/nginx -s reload #刷新nginx
客户端:
vim /etc.hosts #配置解析
172.25.15.1 server1 www.westos.com bbs.westos.org
5).负载均衡配置
服务端:
vim /usr/local/nginx/conf/nginx.conf
#省略上面配置
http {
upstream westos{
server 172.25.15.2:80;
server 172.25.15.3:80;
}
include mime.types;
default_type application/octet-stream;
#省略中间配置
server {
listen 80;
server_name www.westos.org;
location / {
# root /www;
# index index.html;
proxy_pass http://westos; #转发的路径为westos组内的
}
}
server {
listen 80;
server_name bbs.westos.org;
location / {
root /bbs;
index index.html;
}
}
}
[root@server1 sbin]# ./nginx -t ##测试配置文件是否正确
[root@server1 sbin]# /usr/local/nginx/sbin/nginx -s reload #刷新nginx
客户端:
vim /etc.hosts #配置解析
172.25.15.1 server1 www.westos.com bbs.westos.org
负载均衡的几种模式
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream westos {
server 172.25.15.2:80 weight=10;
server 172.25.15.3:80 weight=5;
}
#按照上面配置,访问172.25.15.2:80的数量会比172.25.15.3:80多1倍
3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:
upstream westos {
ip_hash;
server 172.25.15.2:80;
server 172.25.15.3:80;
}
例如配置模式为ip_hash
服务端:
vim /usr/local/nginx/conf/nginx.conf
#主要更改这块
http {
upstream westos{
ip_hash;
server 172.25.15.2:80;
server 172.25.15.3:80;
}
}
[root@server1 sbin]# ./nginx -t ##测试配置文件是否正确
[root@server1 sbin]# /usr/local/nginx/sbin/nginx -s reload #刷新nginx
客户端
6).地址重定向
服务端:
vim /usr/local/nginx/conf/nginx.conf
#省略上面配置
http {
upstream westos{
server 172.25.15.2:80;
server 172.25.15.3:80;
}
include mime.types;
default_type application/octet-stream;
#省略中间配置
#反向代理
server {
listen 80;
server_name www.westos.org;
location / {
# root /www;
# index index.html;
proxy_pass http://westos;
}
}
#地址重定向
server {
listen 80;
server_name bbs.westos.org;
rewrite ^(.*) https://bbs.westos.org$1 permanent;
# location / {
# root /bbs;
# index index.html;
# }
}
server {
listen 80;
server_name westos.org aa.westos.org;
rewrite ^(.*) http://bbs.westos.org$1 permanent;
}
}
[root@server1 sbin]# ./nginx -t ##测试配置文件是否正确
[root@server1 sbin]# /usr/local/nginx/sbin/nginx -s reload #刷新nginx
客户端:
vim /etc.hosts #配置解析
172.25.15.1 server1 www.westos.com bbs.westos.org