Nginx安装配置(Linux)各种踩坑,求赞安慰

安装:

下载:http://nginx.org/en/download.html

然后用工具发送到linux,并解压 tar -xvf nginx-1.16.1.tar.gz

需要环境:

  1. gcc:yum install gcc-c++  安装nginx需要先将官网下载的源码进行编译
  2. PCRE:yum install -y pcre pcre-devel  是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式
  3. zlib:yum install -y zlib zlib-devel  zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip
  4. openssl: yum install -y openssl openssl-devel 一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议

 

进入解压目录检测:./configure

make

make install

进入路径cd /usr/local/nginx/sbin

启动:./nginx

查看进程:ps -ef|grep nginx

访问80端口

 命令:

  • .查看版本号:./nginx -v
  • 停止:./nginx -s stop
  • 启动:./nginx
  • 重加载:./nginx -s reload

 

配置:

配置文件路径:usr/local/nginx/conf/nginx.conf

三部分组成:

  1. 全局块
  2. events块
  3. http块(全局server块,location块)

反向代理:

任务1:请求一个路径,然后通过Nginx访问到部署的服务

坑:proxy_pass的路径要与日志里的匹配,不能是127.0.0.1

访问日志: access.log

配置:

     server {
        listen        8001;
        server_name   192.168.32.128;
        location / {
            proxy_pass http://192.168.32.1:81;
}

 

任务2:

访问路径带二级目录的

坑:注意底下配置最后一个有 /  ,第一个没有

因为我的项目结构是这样的

请求路径配置:

edu后面没/,所以在配置server时最后面也不能有/

上图:

   

配置:

     server {
        listen        8004;
        server_name   192.168.32.128;
        location ~ /edu {
            proxy_pass http://192.168.32.1:81;
}
        location ~ /edu/ {
            proxy_pass http://127.0.0.1:81;
}
}

 

负载均衡:

1.轮询

配置:

    upstream myserver{
        server 192.168.32.1:81;
        server 192.168.32.1:8003;
}
    server {
        listen 8005;
        server_name 192.168.32.128;
        location / {
        proxy_pass http://myserver;
}
}

 

2.weight 

默认为1 ,权越大,分配越多

3.ip_hash 

 每个请求按ip的hash访问,可以解决session共享问题

4.fair

按照后端响应时间分配

 

动静分离:

把动态请求和静态请求分开

准备工作:

配置:  autoindex是展示目录 直接请求img

expires :缓存时间

server {
        listen 8006;
        server_name 192.168.32.128;
       
        location /htm/ {
        root /data/;
}
        location /img/ {
        root /data/;
        autoindex on;
}
}

 

 

高可用集群:

nginx可能会宕机

  • 需要俩个虚拟机环境
  • 安装keepalived   yml install keepalived -y   检查:rmp -q -a keepalived

主备模式

router_id :  在 etc/host 里配置

script 脚本内容:

配置文件 :  路径 etc/keepalived/keepalived.conf

 虚拟ip

 

原理:

一个master多个worker

好处:

  • 支持热部署 :./nginx -s reload
  • 独立进程,不需要加锁
  • 其中一个worker胡问题,其他worker继续进行争抢,不会造成中断

 

 

设置worker数量: 与服务器cpu数量相等

因为Nginx核redis采用的都是IO多路复用机制

 

发送一个请求占用worker连接数:

  • 普通静态访问 2个
  • 反向代理  4个

最大支持连接数:worker数*单个worker连接数    4*1024

支持最大并发数

  • 普通静态访问 最大连接数/2
  • 反向代理  最大连接数/4

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值