centos7 安装nginx并配置代理

前言

笔者在国外租了一个虚机,用来部署本身的博客应用,并申请了一个域名51think.net来指向这个虚机。随着部署的应用愈来愈多,而80端口只有一个,没法直接经过域名去访问不一样的应用。由此而来,部署一个代理服务器势在必行。本文对nginx的安装和配置进行简单整理,但愿对初学者有帮助。
本文来源于个人博客网站:www.51think.netnginx

1、安装

nginx安装有两种方式,即yum和wget。json

一、经过yum方式在线安装

须要注意的一点是,nginx并不在yum的安装源中。什么是yum?你能够理解为一个rpm包管理器的前置(什么是rpm?本身百度吧。。),yum相似于maven的效果,给一个包名,就能将其所依赖的软件包所有下载下来。maven是有中央仓库的,即包的来源。yum也是一样的概念,它也须要一个包源,并且能够配置多个,这个源能够是本地的也能够是网络的,而nginx并不在它的源中,所以咱们要把它加到yum的源中。执行以下命令:centos

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

这个操做并非安装nginx,只是安装了一个nginx的源。执行完成以后,会在/etc/yum.repos.d目录中看到多了一个文件nginx.repo 。浏览器

clipboard.png

从这个文件的后缀咱们能够感知到,.repo即repository,仓库配置。文件内容以下:tomcat

clipboard.png
核心要素也就是一个网址。即告知yum命令,能够从这个网址里找nginx下载并安装。服务器

如今开始真正的安装,执行命令yum install -y nginx便可。网络

二、经过wget下载nginx的压缩包

wget http://nginx.org/download/nginx-1.10.1.tar.gz

解压tar -zxvf nginx-1.10.1.tar.gz,我本地的解压缩目录是/usr/local/,这时候咱们能够启动一下nginx观察一下效果,到/usr/local/nginx/sbin目录,执行./nginx,而后在浏览器中访问http://localhost ,弹出如下页面则表示安装成功(确保80端口没有被占用):负载均衡

clipboard.png

2、配置代理

一、单点代理配置

在虚机上找到nginx的安装目录,找到nginx.conf文件。笔者的文件路径是:maven

/usr/local/nginx/conf/nginx.conf

这个配置文件的内容很简单,结构相似于json,重点关注server领域的配置,其余配置项默认便可。笔者的配置以下,供参考:网站

server {
        listen       80;
        server_name  www.51think.net 51think.net www.ueasy.cc;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #blog
        location / {  
             proxy_pass http://138.128.193.108:8080;   
        }  
        #mall  
        location /wx {  
             proxy_pass http://138.128.193.108:8081;   
        } 
  }

listen表示监听的端口,http的是80,https的是443。server_name表示本配置项是为哪些域名准备的,便可以接受哪些域名的访问。location就是代理的配置了,/表示能够经过域名的根目录去访问http://138.128.193.108:8080的tomcat服务,/wx表示能够经过“域名+/wx”的形式去访问http://138.128.193.108:8081的tomcat服务。要注意的一点是,若是location做为tomcat服务的全局入口,那么location的路径须要和tomcat的contextPath保持一致,不然访问可能出现404错误。举例说明,若是个人博客网站tomcat的contextPath是/blog,即直接访问路径应该是http://138.128.193.108:8080/blog。若是在nginx层面将location配置成以下:

location / {  
             proxy_pass http://138.128.193.108:8080;   
        }

则经过域名http://51think.net/这样访问时,将会被代理到http://138.128.193.108:8080/这个访问路径,显然这样是访问不通的。若是tomcat的contextPath是/则没问题。

二、负载均衡代理配置

负载均衡配置也比较简单,将上文location配置中的 IP+端口换成一个新的配置项,而后在新的配置项里加入咱们要负载的节点和负载的策略。

location / {
     #将ip和端口信息换成一个新的配置项manyserver(自由命名)
        proxy_pass  http://manyserver;
        }

配置manyserver:

upstream manyserver{
    server 138.128.193.108:8080; #tomcat
    server 138.128.193.108:8084; #tomcat
    server 138.128.193.108:8085; #tomcat
    
}

upstream manyserver配置项里,咱们还能够制定负载均衡策略,好比iphash,权重,轮询等,在此再也不赘述。
以上就是nginx安装配置的所有内容,但愿对初学者有所帮助。

3、注意事项

一、nginx.conf中能够配置多个server节点,nginx能够根据监听端口或者访问域名去定位到不一样的server配置项。二、配置完成以后,记得要重启nginx。到nginx的安装目录/usr/local/nginx/sbin/,执行./nginx -s reload便可。

相关文章
相关标签/搜索