nginx的安装与使用

趁最近还没准备毕业论文的间隙,简单开启下微服务教程,希望能给大家带来帮助。本文是负载均衡部分使用第一篇,简单介绍下nginx的使用,以及nginx的反向代理,静态优化,负载均衡简单介绍.


全部代码下载:Github链接:github链接,点击惊喜;写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github;多谢;

1.安装

简要介绍直接安装和编译安装

1.1直接apt-get安装

sudo apt-get install nginx
ubuntu安装Nginx之后的文件结构大致为:

  1. 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下

  2. 启动程序文件在/usr/sbin/nginx

  3. 日志放在了/var/log/nginx中,分别是access.log和error.log

  4. 并已经在/etc/init.d/下创建了启动脚本nginx

  5. 默认的虚拟主机的目录设置在了/usr/share/nginx/www

1.2源代码安装

1.下载地址:http://nginx.org/download/


$./configure  –prefix=/usr/nginx-1.8.0

$make

$make install

源码编译安装可能需要安装相关的依赖.

1.3测试安装成功否


1. 在线安装的启动

  $sudo /etc/init.d/nginx start

2. 编译安装的启动

安装路径:如

/usr/nginx-1.8.0/sbin/nginx

然后就可以访问了,http://localhost/ ,会显示nginx主页面

2.配置文件简介

nginx.conf配置文件用配置nginx的功能,下面简单介绍下该文件各字段的含义

#================================以下是全局配置项
#指定运行nginx的用户和用户组,默认情况下该选项关闭(关闭的情况就是nobody)
#user  nobody nobody;     
#运行nginx的进程数量,后文详细讲解
worker_processes  1;      
#nginx运行错误的日志存放位置。当然您还可以指定错误级别
#error_log  logs/error.log;    
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#指定主进程id文件的存放位置,虽然worker_processes != 1的情况下,会有很多进程,管理进程只有一个
#pid        logs/nginx.pid;    

events {
    #每一个进程可同时建立的连接数量,后问详细讲解
    worker_connections  1024;   
    #连接规则,可以采用[kqueue rtsig epoll select poll eventport ],后文详细讲解
    use   epoll;    
}
#================================以上是全局配置项

http {
    #================================以下是Nginx后端服务配置项
    upstream backendserver1 {
        #nginx向后端服务器分配请求任务的方式,默认为轮询;如果指定了ip_hash,就是hash算法(上文介绍的算法内容)
        #ip_hash    
        #后端服务器 ip:port ,如果有多个服务节点,这里就配置多个
        server 192.168.220.131:8080; 
        server 192.168.220.132:8080;    
        #backup表示,这个是一个备份节点,只有当所有节点失效后,nginx才会往这个节点分配请求任务
        #server 192.168.220.133:8080 backup;        
        #weight,固定权重,还记得我们上文提到的加权轮询方式吧。
        #server 192.168.220.134:8080 weight=100;    
    }
    #================================以上是Nginx后端服务配置项

    #=================================================以下是 http 协议主配置
    #安装nginx后,在conf目录下除了nginx.conf主配置文件以外,有很多模板配置文件,这里就是导入这些模板文件
    include       mime.types;
    #HTTP核心模块指令,这里设定默认类型为二进制流,也就是当文件类型未定义时使用这种方式
    default_type  application/octet-stream;     
    #日志格式
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '   
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    #日志文件存放的位置
    #access_log  logs/access.log  main;         

    #sendfile 规则开启
    sendfile        on;
    #指定一个连接的等待时间(单位秒),如果超过等待时间,连接就会断掉。注意一定要设置,否则高并发情况下会产生性能问题。
    keepalive_timeout  65;                      

    #开启数据压缩,后文详细介绍
    gzip  on;                                   
    #=================================================以上是 http 协议主配置

    #=================================================以下是一个服务实例的配置
    server {
        #这个代理实例的监听端口
        listen       80;
        #server_name 取个唯一的实例名都要想半天?
        server_name  localhost; 
        #文字格式
        charset utf-8;  
        #access_log  logs/host.access.log  main;    

        #location将按照规则分流满足条件的URL。"location /"您可以理解为“默认分流位置”。
        location / {
            #root目录,这个html表示nginx主安装目录下的“html”目录。
            root   html;   
            #目录中的默认展示页面
            index  index.html index.htm;        
        }

        #location支持正则表达式,“~” 表示匹配正则表达式。
        location ~ ^/business/ {   
            #反向代理。后文详细讲解。
            proxy_pass http://backendserver1;   
        }

        #redirect server error pages to the static page /50x.html
        #error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    #=================================================以上是一个服务实例的配置
}

2.2配置文件正确性判断

当我们修改配置文件后,假如启动时报错.很有可能就是配置文件有问题.可以通过一下命令进行检测

正确性检查:nginx -t -c /etc/nginx/nginx.conf

3.nginx的一些功能

需求:
下载安装两个Tomcat,并修改端口为8080和8081
Tomcat安装与使用

3.1.简单的反向代理

Tomcat和nginx进行简单整合,反向代理http://localhosthttp://localhost:8080;

###修改nginx.conf,在http{}中添加如下代码
server {                                                                       
     listen 80;                                                                 
    server_name localhost;                                                                                
     location /                                                                 
    {                                                                          
      proxy_pass http://localhost:8080;                                       
   }                                                                          
  }       

启动Tomcat和nginx
在浏览器中输入localhost会直接显示tomcat的主页面;

3.2.静态文件服务

静态文件服务其实还是利用了location的功能,将特定正则的URL跳转到静态页面;
如果我们需要用nginx来进行静态文件服务,一般都会把所有静态文件,html,htm,js,css等都放在同一个文件夹下;

 #配置Nginx动静分离,不建议这样使用
  location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
  {
  root /data/www;
  #expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
  expires      3d;
} 
##建议使用静态文件夹的方式
location ^~ /static/ {
    root /webroot/static/;
}

3.3.负载均衡

nginx负载均衡的一个重要含义就是让一个服务由多个服务器提供.
nginx通过upstream可以实现,在upstream中定义相应的服务器,并在http的server中反向代理定义的负载均衡模块名.
即可实现简单的负载均衡.
来自伊豚wpeace(blog.wpeace.cn)

upstream local_host {  
     ip_hash;
 #weigth参数表示权值,权值越高被分配到的几率越大  此去可以填ip名.
    server localhost:8080 weight=1;  
    server localhost:8081 weight=5;  
}  
server {
    listen       80;
    server_name  localhost;
    location / {
        proxy_pass      http://local_host;
        proxy_set_header  X-Real-IP  $remote_addr;
    }

同时启动两个tomcat,和nginx.在浏览器中输入localhost重复几次输入,可以看到两个tomcat的主页都被访问到了.

好的本章介绍到这里 来自伊豚wpeace(blog.wpeace.cn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值