zoukankan      html  css  js  c++  java
  • 2020年ubuntu1804安装nginx最新稳定版1.16详细教程笔记

    第一次使用nginx是2007年,当时主流还是apache。nginx横空出世,在web2.0的推动下,迅速崛起。眼下已是绝对的主流了。
    当时,还有一个轻量级的lighttpd,是德国人写,刚开始还并驾齐驱。
    但nginx之后发展更加迅猛,现在知道和使用lighttpd已经越来越少。
    想了解更多三者的信息,请查看apache ginxlighttpd的对比分析
    废话说了这么多,进入正题吧。

    一、安装nginx

    1. ubuntu1804当前apt源是1.14版本的,查看方法
    sudo apt-cahce show nginx
    
    1. nginx官网当下最新的文档版本是1.16了,所以我们需要为apt添加最新的安装源。
    2. 第一步,准备相关依赖包
    sudo apt install curl gnupg2 ca-certificates lsb-release
    
    1. 第二步,在apt的安装源中(仓库)添加nginx的最新的稳定版(stable)的安装包
    echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" 
        | sudo tee /etc/apt/sources.list.d/nginx.list
    
    1. 第三步,添加nginx的安装源的签名密钥,通过apt的安全认证
    sudo curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -  #会返回[ok]
    
    1. 第四步,确认签名密钥
    sudo apt-key fingerprint ABF5BD827BD9BF62   #如果返回以下信息,说明安装正确
    pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
          573B FD6B 3D8F BC64 1079  A6AB ABF5 BD82 7BD9 BF62
    uid   [ unknown] nginx signing key <signing-key@nginx.com>
    
    1. 第五步,执行安装命令
    sudo apt update
    sudo apt install nginx
    

    二、启动nginx和nginx常用命令

    1. 启动/关闭/重启
    sudo /etc/init.d/nginx start/down/restart
    
    1. nginx优势:支持热部署,即可以不中断服务的同时,修改服务器配置信息
    nginx -t  #检查配置信息是否正确,如果返回seccuessfully,就可以执行,reload的。不管你有多自信,都请先走这一步,养成好习惯。
    nginx -s reload    #服务器配置信息,热部署
    
    1. nginx常用命令
    nginx -s quit         优雅停止nginx,有连接时会等连接请求完成再杀死worker进程  
    nginx -s reload     优雅重启,并重新载入配置文件nginx.conf
    nginx -s reopen     重新打开日志文件,一般用于切割日志
    nginx -v            查看版本  
    nginx -t            检查nginx的配置文件
    nginx -h            查看帮助信息
    nginx -V       详细版本信息,包括编译参数 
    nginx  -c filename  指定配置文件
    

    三、nginx的配置

    1. 配置文件位置.
      • 主配置文件/etc/nginx/nginx.conf
      • 应用配置文件夹, /etc/nginx/conf.d/ 此文件夹下.conf文件都会被载入
    2. 查看default.conf文件
    cat /etc/nginx/conf.d/default.conf
    server_name localhost   #可以修改成你要绑定的域名
    #location root 目录是 /usr/share/nginx/html/  
    
    1. 新建一个自己的静态网站配置
    cd /etc/nginx/conf.d/
    sudo cp default.conf mysite.conf
    vim mysite.conf
    #修改,server_name 为 www.mysite.com  (换成你的自己的域名,域名的A记录已经指向这台服务器)
    #修改,location 配置里的 root 为/data/www/mysite 
    #保存退出
    sudo nginx -t   #检查我们新建的配置文件是否正确
    sudo nginx -s reload   #重新加载配置文件
    
    1. 解决403的错误。
      • 这个时候,直接访问www.mysite.com,容易出现是403错误,访问被禁止 forbidden
      • 两个原因,一个是没有index.html文件(好解决,vim index.html到目录下),
      • 一个是目录没有访问权限。我们可以设置/data/www/mysite的权限为755
      • nginx安装后,会默认增加nginx的用户和组,ch
    sudo chmod 755 /data
    sudo chmod 755 /data/www
    sudo chmod 755 /data/www/mystie   
    #为什么要从/data开始,因为nginx的网站目录的权限,要求父目录及以上都拥有同样的权限,需要读和执行的权限
    cat /etc/passwd   #查看所有用户
    cat /etc/group   #查看所有组
    chown -R nginx /data/www/mysite
    chgrp -R nginx /data/www/mysite
    
    1. 配置https
      • 前提需要您有你自己域名的ssl认证。个人可以申请一个免费的,网上有资源,自己百度以下
      • 将证书文件传到服务器,使用的是scp命令将证书拷贝到服务器的/etc/nginx/ssl_certs/目录下面。现在该目录下有两个文件,xxx.pem 和 xxx.key。
      • 在创建配置文件/etc/nginx/conf.d/目录下创建 myhttps.conf
    server {
        listen       443 ssl;
        server_name  www.mysite.com;
        ssl_certificate      /etc/nginx/ssl_certs/xxx.pem;
        ssl_certificate_key  /etc/nginx/ssl_certs/xxx.key;
        #ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
            root   /data/www/mysite;
            index  index.html index.htm;
        }
    }
    
    server {
        listen 80;
        server_name wwww.mysite.com; # 你的域名
        # 强制跳转https
        rewrite ^(.*) https://$server_name$1 permanent;
    }                                   
    # 保存退出
    sudo nginx -t
    sudo nginx -s reload
    
  • 相关阅读:
    firefox安装教程
    shell脚本介绍
    vue 图片引入
    vscode 常用插件
    vscode 打不开chrome浏览器解决方案
    win10 wifi 密码查看
    爽文 主角如 石昊 白小纯 方行 秦牧 楚风
    codepen, jsrun 使用iframe嵌入
    uniapp 自定义扫一扫页面
    数组(遍历删除多个元素)
  • 原文地址:https://www.cnblogs.com/qumogu/p/12730571.html
Copyright © 2011-2022 走看看