Nginx安装和配置

nginx安装
准备工作 官网下载Linux 版本的nginx 解压到/usr/local/
/usr/local/nginx-1.14.0
一 安装依赖的插件 yum -y install pcre-devel openssl-devel
/usr/local/nginx-1.14.0 目录下 
 ./configure
 make && make install   // 默认安装的路径 /usr/local/sbin/nginx
安装完成 启动 /usr/local/nginx/sbin 路径下 ./nginx 
查看启动 ps aux|grep nginx 
./nginx -s quit 
./nginx -s reload
./nginx -s restart
创建软连接 类似于快捷方式 将/usr/local/nginx/sbin/nginx 放到 /usr/local/sbin/nginx  
/usr/local/sbin/这里放用户自行安装的可执行程序

 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx 

完成后再任何位置都可以执行
nginx
nginx -s quit 
nginx -s reload
nginx -s restart

添加到系统服务 添加之后 就可以通过 service nginx start 这样的操作来启动了

vi /etc/int.d/nginx

DAEMON=/usr/local/nginx/sbin/nginx
#chkconfig: 35 85 15
case $1 in 
    start)
    echo "starting nginx ...."
    $DAEMON && echo "success"
    ;;
    stop)
       echo "stop nginx ..."
    $DAEMON -s quit && echo "success"
    ;; 
    reload)
       echo "reload nginx ..."
    $DAEMON -s reload && echo "success"
    ;;
    restart )
      echo "restart nginx ..."
    $DAEMON -s quit 
    $DAEMON&& echo "success"
    ;;
    *)

    echo "Usage:service nginx stop|restart|start|reload"
    exit 2
;;
esac

保存
chmod +x nginx

使用chkconfig 添加nginx服务自动启动
chkconfig --add nginx

ngnix.conf配置文件
目录级别
main
events {}
http {
    server{
        location{...}
    }
}
http块 server块 location块

默认的配置及说明

#配置ngnix工作进程的数量一般为cpu的总核数或总核数的2倍
worker_processes  1;
events {
    #允许单个进程并发连接数的最大请求数
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;  

    server {
        listen       80;#监听的端口
        server_name  localhost; #监听的域名
        location / {
            root   html;#主机站点根目录地址
            index  index.html index.htm;#指定默认的索引文件
        }
       
        location = /50x.html {
            root   html;
        }
    } 
}

Ngnix进程设计思想:一个主进程和多个工作进程,主进程主要接受客户端的请求,转交给工作进程处理,很好的利用了cpu多核的处理能力
当执行reload命令时,主进程会等待工作进程完成之后再结束工作进程。然后基于新的配置重新创建工作进程,这样避免了工作进程被打断的
情况,同时主进程一直没有停止过也不会漏掉客户的请求。


控制访问的权限
allow允许  deny禁止

http{

    allow 192.168.21;
    deny all;
    server{....}

}


http{
    server{
        location=/js{
            allow 192.168.21;
            deny all;
        }
    }
}

越是内层的块权限的级别越高
同一个IP同一个块种先出现的覆盖后出现的

日志
错误日志默认的存放位置 logs/里面的error文件


虚拟主机
虚拟主机技术就是在一台服务器上分隔多个磁盘空间,每个磁盘都是一个虚拟主机。在外界看来虚拟主机就是一台独立的服务器
可以实多个域名web部署在同一台物理主机上

配置的方式
基于端口号 最简单的 一个server就是一个虚拟机
http {
    
#监听8081的虚拟主机
    server {
        listen       8081;
        server_name  192.168.122; 
         root   html8081;
         index  index.html index.htm;       
    } 
    #监听8082的虚拟主机
    server {
        listen       8082;
        server_name  192.168.122; 
         root   html8081;
         index  index.html index.htm;       
    } 


    server {
        listen       8090;
        server_name  www.ltt.com; #该域名需要绑定win hosts文件 访问该域名直接代理到 http://192.168.0.30:8090
        location / {
         proxy_pass http://192.168.0.30:8090;
        }
    }

 server {
        listen       8080;
        server_name  www.bowei.com;
        location / {
             proxy_pass http://192.168.0.30:8080;
        }
    }


    
}


基于IP配置虚拟主机

http {
    
#监听192.168.122的虚拟主机
    server {
        listen       80;
        server_name  192.168.122; 
         root   html8081;
         index  index.html index.htm;       
    } 
    #监听192.168.123的虚拟主机
    server {
        listen       80;
        server_name  192.168.123; 
         root   html8081;
         index  index.html index.htm;       
    } 
    
}


基于域名配置虚拟主机

http {
    
#监听www.bowei.a的虚拟主机
    server {
        listen       80;
        server_name  www.bowei.a; 
         root   html8081;
         index  index.html index.htm;       
    } 
    #监听www.bowei.b的虚拟主机
    server {
        listen       80;
        server_name  www.bowei.b; 
         root   html8081;
         index  index.html index.htm;       
    } 
    
}

反向代理
配置 proxy_pass 在location种配置

#将www.bowei.com反向代理到192.168.122
http {

    server {
        listen       80;#监听的端口
        server_name  www.bowei.com; #监听的域名
        location / {
           proxy_pass 192.168.122;
        }      
       
    } 
}

负载均衡配置 upstream 
一般轮询的负载均衡
http {

    server {
        listen       80;#监听的端口
        server_name  www.bowei.com; #监听的域名
        location / {
           proxy_pass web_server;
        }      
       
    } 
    
    upstream web_server{
        server 192.168.122;
        server 192.168.123;
    }
}

加权重的轮询
http {

    server {
        listen       80;#监听的端口
        server_name  www.bowei.com; #监听的域名
        location / {
           proxy_pass web_server;
        }      
       
    } 
    
    upstream web_server{
        server 192.168.122 weight=1;
        server 192.168.123 weight=2;
    }
}

ip_hash的负载均衡

http {

    server {
        listen       80;#监听的端口
        server_name  www.bowei.com; #监听的域名
        location / {
           proxy_pass web_server;
        }      
       
    } 
    
    upstream web_server{
        ip_hash;
        server 192.168.122;
        server 192.168.123;
        server 192.168.124;
    }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值