Nginx使用

nginx常用做反向代理:
相对于服务端而言,为请求提供一个统一的入口,客户端向这个代理服务器发送一个请求,而代理服务器对这些请求转发到目标服务器,这样客户端就不止到请求的是哪个服务器了,这就是反向代理。
nginx安装:
CentOS:sudo yum install nginx
nginx常用命令:
nginx -s reload:修改配置后重新加载生效
nginx -s reopen:重新打开日志文件
nginx -t -c /path/nginx.conf:测试nginx配置文件是否正确
nginx -s stop:快速停止nginx
nginx -s quit:完整有序的停止nginx
nginx配置详情:
nginx配置文件主要分为四部分:main(全局设置),server(主机设置),upstream(上游服务器设置,主要为反向代理,负载均衡相关配置)和location(url匹配特定位置后的设置),每部分包含若干个指令
main部分的设置影响其他部分的设置
server部分的设置主要用于指定虚拟主机域名,IP和端口
upstream用于设置一系列后端服务器,设置反向代理和后端服务器的负载均衡
location用于匹配网页位置,它们之间的关系式:server继承main,location继承sercer;upstream既不会继承指令也不会被继承,它有自己的特殊指令,不需要在其他地方应用。

/etc/nginx/conf.d目录下的所有以.conf结尾的文件,/etc/nginx/sites-enabled下的所有文件都被视为http节点的配置文件,所以我们可以再这两个文件中配置server节点,可以打开这个目录下面的内容,打开其中的默认文件查看server节点和location节点的配置,其中很多配置应该都是一看就明白的

Server配置详解:

上面说到/etc/nginx/conf.d目录下的所有.conf文件都会被认为是http节点的配置,那么我们可以在/etc/nginx/conf.d中创建一个example.conf,然后打开输入:

server {

   listen 88;  #监听主机的88端口,如果端口小于1024可能涉及权限问题

   listen [::]:88;  #监听主机的88端口

   server_name example;  #当前服务器的名称



   root /var/www/example;   #当前服务器的根路径

   index index.html index.htm index.nginx-debian.html;   #起始页



   location / {          #路由配置规则,匹配上就使用里面的配置

           root /var/www/example;   #根路径

           index index.html index.htm index.nginx-debian.html;   #起始页

   }

location = /test { #路由配置规则,匹配上就使用里面的配置

           root /var/www/example/test;   #根路径

           index index.html index.htm index.nginx-debian.html;   #起始页

   }

}

在这里插入图片描述
上面的配置是说(当前主机IP:192.168.182.134),监听主机的88端口,当访问请求时http://192.168.182.134:88/时,使用/var/www/example做根路径,当请求是http://192.168.182.134:88/test时使用/var/www/example/test做更路径,所以我们分别创建/var/www/example和/var/www/example/test两个目录,在里面创建一个index.html文件,内容分别是:

/var/www/example/index.html,/var/www/example/test/index.html
然后可以启动nginx,然后测试一下了

先测试配置是否有问题:sudo nginx -t

如果提示:

nginx: [alert] could not open error log file: open() “/var/log/nginx/error.log” failed (13: Permission denied)

则是权限不够,干脆将nginx目录的所有人改一下:sudo chown -R feng:feng /etc/nginx

测试没问题后就可以启动了:sudo nginx

负载均衡配置:

在/etc/nginx/conf.d目录下新建一个balance.conf,输入一下内容:

upstream balance_test {

    server 172.16.3.212;  #我本地的IP地址

    server 172.16.201.27;  #27预生产环境

    ip_hash;  #使用负载均衡的IP哈希规则

}

server {

   listen 89;  #监听主机的89端口,如果端口小于1024可能涉及权限问题

   listen [::]:89;  #监听主机的89端口

   server_name balance;  #当前服务器的名称



   root /var/www/balance;   #当前服务器的根路径

   index index.html index.htm index.nginx-debian.html;   #起始页



   location /Tfs.Loan.Web {    #虚拟路径是这个的时候,为贷后

            proxy_pass http://balance_test;    #这里的balance_test就是指上面的upstream中的一个,到底取哪个就看情况了,下面是代理服务器的配置

            proxy_http_version 1.1;

            proxy_set_header Upgrade $http_upgrade;

            proxy_set_header Connection keep-alive;

            proxy_set_header Host $host;

            proxy_set_header   X-Real-IP        $remote_addr;

            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

            proxy_cache_bypass $http_upgrade;

            # First attempt to serve request as file, then

            # as directory, then fall back to displaying a 404.

            #try_files $uri $uri/ =404;

    }

  

   location ~ .*\.(js|css|svg|ico|png)$ {   #静态文件

            proxy_pass http://balance_test;      #这里的balance_test就是指上面的upstream中的一个,到底取哪个就看情况了

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值