安装nginx以及nginx反向代理配置

2021/5/2 7:29:37

本文主要是介绍安装nginx以及nginx反向代理配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

安装nginx以及nginx反向代理配置

文章目录

  • 安装nginx以及nginx反向代理配置
    • 环境
    • 安装配置过程

环境

centos7.6

安装配置过程

  1. 检查编译器是否安装(一般来讲,使用阿里云、腾讯云等都会提前安装好这些编译器以及软件包)

    # gcc:
    gcc -v #如果没有则回提示
    yum -y install gcc #没有则安装gcc
    yum install -y pcre pcre-devel #安装pcre\pcre-devel(已有则会报nothing to do)
    yum install -y zlib zlib-devel #安装zlib
    yum install -y openssl openssl-devel #安装openssl-devel
    
  2. 下载解压nginx

    #创建文件夹
    cd /usr/local
    mkdir nginx
    cd nginx
    #获取安装包并解压
    wget http://nginx.org/download/nginx-1.13.7.tar.gz
    tar -xvf nginx-1.13.7.tar.gz
    #进入nginx安装包目录编译
    cd nginx-1.13.7
    ./configure
    make
    make install
    #打开nginx编译目录
    cd /usr/local/nginx
    #修改配置文件
    vim nginx.conf
    
  3. 配置文件如下(记得将原来文件中注释掉的log信息以及报错提示等前面的注释符号删掉)

    # 复制到对应http里面server位置
    upstream halo {
      server 127.0.0.1:8090;
    }
    server {
      listen 80;
      listen [::]:80; #注意:nginx 1.10.x以上才含有ipv6设置
      server_name youdomain.com;
      client_max_body_size 1024m;
      location / {
        proxy_pass http://halo;
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    }
    
  4. 如含有ssl证书,则配置文件如下即可,复制位置同上

    upstream halo {
      server 127.0.0.1:8090;//8090是初始未修改的halo博客端口号
    }
    server {
      listen 80;
      listen [::]:80;
      server_name 域名 www.域名;//这里写你的域名包括加www的前缀
      client_max_body_size 1024m;
     return 301 https://$host$request_uri;
    }
    server {//前缀为www.你的域名配置文件及ssl证书
     	#SSL 访问端口号为 443
            listen 443 ssl;
        #填写绑定证书的域名
            server_name www.域名;
     	#证书文件名称
            ssl_certificate 1_www.域名_bundle.crt;
         #私钥文件名称   
            ssl_certificate_key 2_www.域名.key;
            ssl_session_timeout 5m;
         #请按照以下协议配置    
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers ECDHE-RSA-AES128-GCM-	SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
            ssl_prefer_server_ciphers on;
    
     location / {
        proxy_pass http://halo;
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
             }
     }
     server {//你的域名配置文件及ssl证书
      #SSL 访问端口号为 443
        listen 443 ssl; 
     #填写绑定证书的域名
        server_name 域名;
     #证书文件名称
        ssl_certificate 1_域名_bundle.crt;
     #私钥文件名称
        ssl_certificate_key 2_域名.key;
        ssl_session_timeout 5m;
     #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on; 
           
      location / { 
        proxy_pass http://halo;
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
     }
    }
    
  5. 运行nginx

    cd /usr/local/nginx/sbin
    ./nginx
    #无报错则运行成功
    
  6. 访问域名,nginx会制动代理到对应的端口



这篇关于安装nginx以及nginx反向代理配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程