Linux下安装Nginx

5 篇文章 0 订阅

Nginx简介

Nginx是什么?

Nginx是一款轻量级Web服务器,也是一款反向代理服务器
官网:http://nginx.org/
中文文档: http://www.nginx.cn/doc/

Nginx能干什么?

Nginx能干的事情很多,这里简要罗列一-些:

  1. 可直接支持Rails和PHP的程序
  2. 可作为HTTP反向代理服务器
  3. 作为负载均衡服务器
  4. 作为邮件代理服务器
  5. 帮助实现前端动静分离
  6. Nginx安装

    Nginx下载

    官网下载:http://nginx.org/en/download.html
    或者直接在linux执行命令:wget http://nginx.org/download/nginx-1.12.2.tar.gz
    这里下载的版本是1.12.2

  7. 安装步骤

    # 安装依赖
    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
    # 解压缩
    tar -zxvf linux-nginx-1.12.2.tar.gz
    cd nginx-1.12.2/
    # 执行配置
    ./configure
    # 编译安装(默认安装在/usr/local/nginx)
    make
    make install

    注:当然 还有一种方法是你事先下载好的安装包,然后将其上传到服务器上,然后用命令解压,之后再去用相应的命令编译安装。

  8. 防火墙配置

    nginx默认监听80端口,如果未关闭防火墙需要配置iptables规则开放80端口(以centos6为例)。
    编辑配置文件:vim /etc/sysconfig/iptables
    在文件中间添加iptables规则
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    重启防火墙:service iptables restart
    或者关闭iptables规则:iptables -F && iptables -t nat -F

    Nginx验证

    nginx主配置文件:/usr/local/nginx/conf/nginx.conf
    nginx日志文件:/usr/local/nginx/logs/access.log
    启动Nginx:/usr/local/nginx/sbin/nginx
    然后直接访问ip地址,比如:http://192.168.0.110/,如果能看到如下Nginx主页说明安装ok

  9. 以上就是nginx的安装过程。

  10. 当然我们安装nginx是为了反向代理负载均衡,下面来介绍一下nginx配置文件的代理配置:

  11. 进入配置文件所在位置:
    cd /usr/local/nginx/conf/
    找到nginx.conf
    用vim nginx.conf命令来修改配置文件一般我们会修改如下的两个位置:
    
    
    
    //配置文件添加如下内容,这里server_name配置的是主机对应的域名,如果没有域名可以通过配置host来映射虚拟域名,或者这里直接配置ip地址,然后用ip访问,proxy_pass是反向代理配置。
    
    单台反向代理的配置:
    
    首先在server内部:
    server {
        listen 80;
        autoindex on;
        server_name www.silly.com;
        access_log /usr/local/nginx/logs/access.log combined;
        index index.html index.htm index.jsp index.php;
        if ( $query_string ~* ".*[\;'\<\>].*" ){
            return 404;
        }
    
        location / {
            proxy_pass http://127.0.0.1:8080; //配置你所需要代理的地址
            add_header Access-Control-Allow-Origin *;
        }
    }
    
    多台反向代理的配置:
    这时候,我们是要用ngin的upstream 属性,关于此属性 后文会有详细的介绍,我们直接来看配置:
    
    首先我们需要在http标签内部加上如下内容,这里我们代理两个地址,当然前提是你所代理地址对应端口是开放的:
    
    upstream names{
        server 127.0.0.1:8050 ;
        server 127.0.0.1:8060 ;
    }
    
    然后在server的location我们的写法是:
    
    server {
        listen 80;
        autoindex on;
        server_name www.silly.com;
        access_log /usr/local/nginx/logs/access.log combined;
        index index.html index.htm index.jsp index.php;
        if ( $query_string ~* ".*[\;'\<\>].*" ){
            return 404;
        }
    
        location / {
            proxy_pass http://names;
        }
    }
    
    在配置如上内容之后,去访问你装在nginx的服务器,如果出现你对应的tomcat页面或者是你部署在其上的应用的页面,则证明你是配置成功的;
    

    以上就是nginx的安装和配置。

  12. 下面我来记录一下本人在配置好负载之后遇到的问题:

  13. 问题描述:部署在相应服务器之上应用的访问地址是 :例如:https://www.jianshu.com/serverName/aaa/toIndex

  14.                    index.jsp配置的项目启动访问的接口是/aaa/toIndex

  15.                    但用此种方法配置之后代理的地址栏目上的地址是:https://www.jianshu.com/aaa/toIndex

  16.                    忽略掉了项目名称。

  17. 解决方法:

  18.                  在查找了很多文档之后发现在location当中  / 和/aaa/ 是不一样的具体大家可以去看一下nginx关于location的文档。

  19. 这里我的解决方式是:在proxy_pass当中去做的处理,处理如下:

  20. location / {
            proxy_pass http://127.0.0.1:8080/serverName/;
            add_header Access-Control-Allow-Origin *;
        }

    注:放在末尾的/是不能省略的,如果省略默认是不会生效的;

  21. 具体原因大家可以去看加/和不加的区别;

  22. 以上就是nginx的安装配置以及本人在使用过程当中遇到的问题;

  23.  
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值