• nginx入门


    基本概念

       Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

    Nginx专为性能优化而开发,性能是器最重要的考量,实现上非常注重效率,能经受高负载的考验,据报告能支持高达50,000个并发连接数。

    功能实现

    正向代理

    反向代理

    负载均衡

    动静资源分离

    安装配置

    windows

    1、下载:http://nginx.org/en/download.html 下载稳定版本。

    2、启动:

    (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过

    (2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe ,回车即可

    3、检查:接在浏览器地址栏输入网址 http://localhost:80 回车,出现以下页面说明启动成功!

    linux

    1、安装依赖

    a、安装gcc,安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

    yum install gcc-c++

     b、PCRE pcre-devel安装,PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。

    yum install -y pcre pcre-devel

     c、zlib安装,zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

    yum install -y zlib zlib-devel

     d、OpenSSL安装,OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

    yum install -y openssl openssl-devel

    2、下载安装包:https://nginx.org/en/download.html

    3、解压

    tar -zxvf nginx-1.18.0.tar.gz
    cd nginx-1.18.0

    4、配置

    ./configure
    make
    make install

     常用命令

    cd /usr/local/nginx/sbin/
    ./nginx  启动
    ./nginx -s stop  停止
    ./nginx -s quit  安全退出
    ./nginx -s reload  重新加载配置文件
    ps aux|grep nginx  查看nginx进程

     PS:若连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口

    # 开启
    service firewalld start
    # 重启
    service firewalld restart
    # 关闭
    service firewalld stop
    # 查看防火墙规则
    firewall-cmd --list-all
    # 查询端口是否开放
    firewall-cmd --query-port=8080/tcp
    # 开放80端口
    firewall-cmd --permanent --add-port=80/tcp
    # 移除端口
    firewall-cmd --permanent --remove-port=8080/tcp
    #重启防火墙(修改配置后要重启防火墙)
    firewall-cmd --reload
    # 参数解释
    1、firwall-cmd:是Linux提供的操作firewall的一个工具;
    2、--permanent:表示设置为持久;
    3、--add-port:标识添加的端口;

     使用示例

       本地对同一个django启动两个服务项目,一个端口设成8000,权重设置成5,一个端口设成8001,权重设置成1,nginx配置如下:

    worker_processes  1;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile        on;
    
        keepalive_timeout  65;
        
        upstream wzj{
            server 127.0.0.1:8000 weight=5;
            server 127.0.0.1:8001 weight=1;
        }
    
        server {
            listen       80;
            server_name  127.0.0.1;
    
            location / {
                root   html;
                index  index.html index.htm;
                proxy_pass http://wzj;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
        }
    
    }

    发出六次请求,效果如下:

    Fake it,till you make it
  • 相关阅读:
    模拟退火求二维费马点
    二叉查找树
    Linux中让普通用户拥有超级用户的权限
    python 正则表达式应用——缩写词扩充
    解决单链表中的环问题
    python数学函数
    train,dev,test数据集作用
    朴素贝叶斯法(二)——基本方法
    生成模型与判别模型
    ImportError: cannot import name wordnet
  • 原文地址:https://www.cnblogs.com/wusir66/p/14349579.html
Copyright © 2020-2023  润新知