zoukankan      html  css  js  c++  java
  • Nginx 安装与配置教程

    标签: Nginx Linux Windows 配置
    描述: Ubuntu 下以及 Windows 下 Nginx 的配置;配置详解;有关 Nginx 如何配置

    Nginx 在 Ubuntu 下的安装

    sudo apt-get update
    sudo apt-get install nginx
    

    如果遇到依赖问题,尝试执行 sudo apt-get -f install 命令进行修复

    SSL 证书申请

    我们需要为我们的域名以及子域名分别申请 SSL 证书,如过你用的是腾讯云服务器,可以点击此处进行申请,此处申请的免费 SSL 证书为单域名 SSL 证书,也就是说其只能用于一个域名,该域名下的子域名无法使用此证书,需另外申请。

    申请完之后,等待申请通过,之后下载证书文件,解压缩,把里面对应于 Nginx 证书文件和私钥文件通过 scp 或者其他工具传到服务器的 /etc/nginx/ 目录

    Nginx 在 Ubuntu 16.04 下的配置概述

    1. 我们只需要更改位于 /etc/nginx/sites-enabled/ 的 default 文件,首先对其进行备份 sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/default.backup
    2. 修改配置文件 /etc/nginx/sites-enabled/default,可以直接使用 vi 编辑器,也可以使用 Visual Studio Code 的 Remote Explorer 功能,远程打开位于服务器上的文件,特别方便
    3. 参照以下代码进行修改
    server { # 配置 http 自动跳转 https
    	listen 80;
    	server_name _;
    	return 301 https://$host$request_uri;
    }
    
    server {
    	listen 443;
    	server_name iamazing.cn;  # 你的域名
    	ssl on;
        	ssl_certificate 1_iamazing.cn_bundle.crt;  # 对于此域名的证书文件
        	ssl_certificate_key 2_iamazing.cn.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://localhost:3000;  # 监听的地址
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    	}
    
    	location /public {
    		root /var/www/html;
        }
    }
    
    server {
    	listen 443;
    	server_name bookmark.iamazing.cn;  # 你的子域名
    	ssl on;
        	ssl_certificate 1_bookmark.iamazing.cn_bundle.crt;  # 对于此域名的证书文件
        	ssl_certificate_key 2_bookmark.iamazing.cn.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://localhost:4000;  # 监听的地址
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    	}
    }
    
    1. 验证配置是否正确:sudo nginx -t,如果没有报错,则重启 Nginx 服务:sudo service nginx restart

    Nginx 在 Windows 10 下的配置

    1. 在此处下载:https://nginx.org/en/download.html
    2. 安装
    3. 备份配置文件,其位于 Nginx 根目录下的 conf 文件夹内,例如 D:Others ginx-1.14.2conf ginx.conf
    4. 申请 SSL 证书,并将证书文件和私钥文件放到 D:Others ginx-1.14.2conf 文件夹内
    5. 对配置文件进行如下修改
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        client_max_body_size 200M;
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        gzip  on;
    
        server { # 配置 http 自动跳转 https
            listen 80;
            server_name _;
            return 301 https://$host$request_uri;
        }
    
        server {
            listen 443;
            server_name i.iamazing.cn localhost;
            ssl on;
                ssl_certificate 1_i.iamazing.cn_bundle.crt;  # 对于此域名的证书文件
                ssl_certificate_key 2_i.iamazing.cn.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 / {
                root d:/project/public; # 可以将一些 HTML 文件放到这个文件夹内
            }
        }
    }
    
    1. 测试配置文件的正确性,在终端中打开 Nginx 的根目录,执行 ./nginx -T,无误后启动 Nginx:start nginx
    2. 常用命令
    start nginx # 启动 nginx
    nginx -s quit # 终止 nginx
    nginx -s reload # 重启 nginx
    nginx -v # 查看版本
    
    1. 将 Nginx 配置为一项服务,这样它将开机自动启动,参考此处

    原文链接:https://iamazing.cn/article/Nginx-安装与配置教程

  • 相关阅读:
    利用MFC获取网页内容
    IP地址 >实际地址 ,API 查询
    一个小时内学习 SQLite 数据库
    Sqlite c/c++ api 学习
    笔记
    Sqlite的操作(增加,删除,查询,修改)
    免费天气API
    ServerSocketChannel的使用例子
    各种模式一览
    什么事文件描述符
  • 原文地址:https://www.cnblogs.com/justsong/p/11782972.html
Copyright © 2011-2022 走看看