【Nginx】安装、配置、负载

安装Nginx

去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本

上传nginx到linux系统

安装依赖环境

(1)安装gcc环境

  yum install gcc-c++

(2)安装PCRE库,用于解析正则表达式

 yum install -y pcre pcre-devel

(3)zlib压缩和解压缩依赖,

 yum install -y zlib zlib-devel

(4)SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https

 yum install -y openssl openssl-devel

解压,需要注意,解压后得到的是源码,源码需要编译后才能安装

tar -zxvf nginx-1.16.1.tar.gz

编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错

mkdir /var/temp/nginx -p

在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
    注: 代表在命令行中换行,用于提高可读性

    配置命令:
    命令 	解释
    –prefix 	指定nginx安装目录
    –pid-path 	指向nginx的pid
    –lock-path 	锁定安装文件,防止被恶意篡改或误操作
    –error-log 	错误日志
    –http-log-path 	http日志
    –with-http_gzip_static_module 	启用gzip模块,在线实时压缩输出数据流
    –http-client-body-temp-path 	设定客户端请求的临时目录
    –http-proxy-temp-path 	设定http代理临时目录
    –http-fastcgi-temp-path 	设定fastcgi临时目录
    –http-uwsgi-temp-path 	设定uwsgi临时目录
    –http-scgi-temp-path 	设定scgi临时目录

make编译

make

安装

make install

进入sbin目录启动nginx
   ./nginx
    停止:./nginx -s stop
    优雅的关闭: ./nginx -s quit
    重新加载:./nginx -s reload

打开浏览器,访问虚拟机所处内网ip即可打开nginx默认页面,显示如下便表示安装成功:

注意事项:

如果在云服务器安装,需要开启默认的nginx端口:80
如果在虚拟机安装,需要关闭防火墙
本地win或mac需要关闭防火墙

配置相关

1 root 与 alias

#访问路径为: /home/imooc/files/img/face.png

# root 路径完全匹配访问
# url:port/imooc/files/img/face.png
location /imooc {
    root /home
}

#alias 对路径做一个别名
# url:port/hello/files/img/face.png
location /hello {
    alias /home/imooc
}

2.location的匹配规则

#默认匹配,普通匹配
location / {
     root /home;
}

# = 精确匹配
location = /imooc/img/face1.png {
    root /home;
}

# ~* 匹配正则表达式,不区分大小写
location ~* .(GIF|jpg|png|jpeg) {
    root /home;
}

# 匹配正则表达式,区分大小写  GIF必须大写才能匹配到
location ~ .(GIF|jpg|png|jpeg) {
    root /home;
}

# ^~ 以某个字符开头的路径
location ^~ /imooc/img {
    root /home;
}


  1. Nginx 的 跨域配置支持
#允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
#允许带上cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
#允许请求的方法,比如 GET/POST/PUT/DELETE
add_header 'Access-Control-Allow-Methods' *;
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;
  1. Nginx的放盗链配置
#对源站点验证
valid_referers *.imooc.com; 
#非法引入会进入下方判断
if ($invalid_referer) {
    return 404;
} 
  1. upstream指令参数
# worker进程设置1个,便于测试观察成功的连接数
worker_processes  1;
# max_conns 最大连接数
upstream tomcats {
        server 192.168.1.173:8080 max_conns=2;
        server 192.168.1.174:8080 max_conns=2;
        server 192.168.1.175:8080 max_conns=2;
}

# slow_start=60s  60s 之后该主机开始提供服务
# slow_start参数不能使用在hash radom load balaning中
# 如果在upstram中之有一台server则该参数无效
upstream tomcats {
        server 192.168.1.173:8080 weight=6 slow_start=60s;
        server 192.168.1.174:8080 weight=2;
        server 192.168.1.175:8080 weight=2;
}

# down 表示该主机不可用
upstream tomcats {
        server 192.168.1.173:8080 down;
        server 192.168.1.174:8080 weight=1;
        server 192.168.1.175:8080 weight=1;
}

# backup 表示当前服务器节点是备用机,之有在其他的所有服务都宕机以后,自己才会加入到集群当中
# backup参数不能使用在hash radom load balaning中
upstream tomcats {
        server 192.168.1.173:8080 backup;
        server 192.168.1.174:8080 weight=1;
        server 192.168.1.175:8080 weight=1;
}
  1. 负载均衡

# 默认采用轮询
upstream tomcats {
        server 192.168.1.173:8080;
        server 192.168.1.174:8080;
        server 192.168.1.175:8080;
}

# weight 根据权重来负载
upstream tomcats {
        server 192.168.1.173:8080 weight=6;
        server 192.168.1.174:8080 weight=2;
        server 192.168.1.175:8080 weight=2;
}
# ip_hash
# ip_hash可以保证用户访问可以请求到上游的服务器中固定的服务器,前提是用户ip没有发生更改
# 使用ip_hash 注意,不能把后台服务器直接移除,只能标记为down
upstream tomcats {
        ip_hash;

        server 192.168.1.173:8080;
        server 192.168.1.174:8080 down;
        server 192.168.1.175:8080;
}

# url_hash
# url_hash 每次根据请求的url地址hash后访问到固定的服务器节点
upstream tomcats {
    # url hash
    hash $request_uri;
    server 192.168.1.173:8080;
    server 192.168.1.174:8080;
    server 192.168.1.175:8080;
}

# least_conn 最少连接数
upstream tomcats {
   	least_conn 

    server 192.168.1.173:8080;
    server 192.168.1.174:8080;
    server 192.168.1.175:8080;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值