• 【华为云技术分享】关于Linux下Nginx的安装及配置


    Nginx (engine x) 是一个高性能的HTTP反向代理服务,也是一个IMAP/POP3/SMTP服务。其他信息请自行百度。

    下面介绍一下,在CentOS7.4 的环境下,安装nginx-1.14.0的方法,供初学者借鉴。

    【前提条件】

    安装zlib 库、pcre,c++ 库等。在线安装方法:

    yum -y install pcre-devel openssl openssl-devel zlib-devel

    有时候部分机器会报告异常: ./configure: error: C compiler cc is not found

    执行如下命令:

    yum -y install gcc gcc-c++ autoconf automake make

    【安装nignx】

    上传nginx-1.14.0.tar.gz至服务器文件夹,这里以/alidata/software 目录为例:

    1 # tar xvf nginx-1.14.0.tar.gz
    2 # cd nginx-1.14.0
    3 # ./configure --prefix=/alidata/service/nginx-1.14.0

    (注意上面的安装位置/alidata/service/nginx-1.14.0,可以根据自己的需要设置)

    1 # make
    2 # make install

    如果没有什么异常的话,恭喜你,安装成功。

    【备注】如果要配置SSL证书的话,会报告如下的异常

    nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module

    则在安装nginx的时候,要加上对应的参数,如下语句:

    ./configure --prefix=/alidata/service/nginx-1.14.0 --with-http_ssl_module

    【修改ngnix.conf配置文件】

    具体的修订方法,请自行百度一下方案。这里仅仅给出个简单的配置样例,用于端口转发。

    替换掉 /alidata/service/nginx-1.14.0/conf 下面的文件

     1 user  nobody;
     2 worker_processes  2;
     3 error_log   /alidata/service/nginx-1.14.0/logs/error.log;
     4 pid        /alidata/service/nginx-1.14.0/logs/nginx.pid;
     5 worker_rlimit_nofile 65536;
     6 
     7 events {
     8     use epoll;
     9     worker_connections  65536;
    10 }
    11 
    12 http {
    13         include       mime.types;
    14         default_type  application/octet-stream;
    15     
    16         client_max_body_size 100m;    
    17         log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    18                       '$status $body_bytes_sent "$http_referer" '
    19                       '"$http_user_agent" "$http_x_forwarded_for"';
    20         access_log /alidata/service/nginx-1.14.0/logs/access.log main;
    21     
    22         sendfile        on;
    23         #tcp_nopush     on;
    24 
    25         keepalive_timeout  65;
    26 
    27         #gzip  on;
    28         
    29         map $http_upgrade $connection_upgrade {
    30             default upgrade;
    31             ''      close;
    32         }
    33 
    34         upstream xinghansoft {
    35             ip_hash;
    36             server 114.115.246.89:8088;
    37         }
    38         server {
    39             listen 80;
    40             server_name 114.115.246.89:8088;
    41             charset utf-8;
    42             location / {
    43                 proxy_set_header Host $host;
    44                 proxy_set_header X-Real-IP $remote_addr;
    45                 proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    46                 proxy_connect_timeout       150s;
    47                 proxy_read_timeout          150s;
    48                 proxy_set_header X-Forwarded-Host $host;
    49                 proxy_set_header X-Forwarded-Server $host;
    50                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    51                 proxy_pass     http://xinghansoft;
    52                 
    53                 proxy_set_header Upgrade $http_upgrade;
    54                 proxy_set_header Connection "upgrade";
    55             }
    56         }
    57 
    58 }

    【启动nginx】

    1 # cd /alidata/service/nginx-1.14.0
    2 # ./nginx            启动
    3 # ./nginx -s stop       停止
    4 # ./nginx -s reload     重启

    没有异常的话,初始操作完成。

    【特殊场景】

    有些时候,为了应对GET请求,携带参数过大的需求,需要调整一下conf的配置,可以加入配置

    1 client_header_buffer_size 512k;
    2 large_client_header_buffers 4 512k;

    nginx-1.14.0.zip

    作者:大道至简

  • 相关阅读:
    iOS 类知乎”分页”效果的实现?
    iOS 图解弹幕功能的实现
    iOS 为何使用runtime方法交换多次后却能按照交换顺序依次执行代码逻辑?
    iOS常用算法之单链表查找倒数第n个节点(图解)
    iOS常用算法之两个有序数组合并, 要求时间复杂度为0(n)
    iOS 常用算法之设计一个算法,验证某字符是否为合法IPV4字符
    iOS .Crash文件分析处理办法 (利用symbolicatecrash工具处理)
    iOS中UIWebview中网页宽度自适应的问题
    iOS开发
    安卓应用加固之反动态调试技术总结
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/12525811.html
Copyright © 2020-2023  润新知