第一次使用nginx是2007年,当时主流还是apache。nginx横空出世,在web2.0的推动下,迅速崛起。眼下已是绝对的主流了。

当时,还有一个轻量级的lighttpd,是德国人写,刚开始还并驾齐驱。

但nginx之后发展更加迅猛,现在知道和使用lighttpd已经越来越少。

想了解更多三者的信息,请查看apache\nginx\lighttpd的对比分析

废话说了这么多,进入正题吧。

一、安装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

2020年ubuntu1804安装nginx最新稳定版1.16详细教程笔记的更多相关文章

  1. 【Linux】Centos7 安装redis最新稳定版及问题解决

    ------------------------------------------------------------------------------------------------- | ...

  2. centos7安装最新稳定版nginx

    开始安装 yum 安装 nginx yum安装nginx文档地址 # 一切以最新的文档页面为准--搜centos http://nginx.org/en/linux_packages.html yum ...

  3. Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装

     Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapR ...

  4. hibernate解读之session--基于最新稳定版5.2.12

    前言 hibernate是一个实现了JPA标准的,用于对象持久化的orm框架.博主近一年开发都在使用. 前段时间在工作中遇到了一个hibernate的问题,从数据库查找得到对象后,修改了其中部分字段值 ...

  5. Android Studio最新稳定版下载 - 百度网盘(更新于2017年7月14日)

    Android Studio是一个为Android平台开发程序的集成开发环境,其包含用于构建Android应用所需的所有工具.Android Studio 2.3.3为最新稳定版(截止到2017年7月 ...

  6. CentOS7 yum 安装 Nginx最新版本

    CentOS7 yum 安装 Nginx最新版本 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarc ...

  7. Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程

    Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程 前言 第一步:下载Elasticsearch6.2.2 第二步:创建应用程序目录 第四步:创建Elastics ...

  8. Ubuntu 14.04 安装最新稳定版Nginx 1.6.0

    如果已经安装,请先卸载sudo apt-get remove nginx最新的稳定版Nginx 1.6.0在ubuntuupdates ppa库中提供,网址http://www.ubuntuupdat ...

  9. linux下yum安装最新稳定版nginx

    ## 摘抄nginx官网文档 URL:http://nginx.org/en/linux_packages.html#stable To set up the yum repository for R ...

随机推荐

  1. "六号标题"组件:<h6> —— 快应用组件库H-UI

     <import name="h6" src="../Common/ui/h-ui/text/c_h6"></import> < ...

  2. hive常用函数三

    日期函数 1. UNIX时间戳转日期函数: from_unixtime 语法: from_unixtime(bigint unixtime[, string format]) 返回值: string ...

  3. 关于SQLAlchemy ORM框架

    SQLAlchemy 1.介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用 ...

  4. 十九种Elasticsearch字符串搜索方式终极介绍

    前言 刚开始接触Elasticsearch的时候被Elasticsearch的搜索功能搞得晕头转向,每次想在Kibana里面查询某个字段的时候,查出来的结果经常不是自己想要的,然而又不知道问题出在了哪 ...

  5. 1.Git 安装

    Git的安装 阿里云镜像去下载 阿里云的镜像地址 卸载Git 1.首先在系统环境变量->path->里面去清理掉git相关的环境变量 2.然后控制面板卸载 安装Git 一直下一步即可 使用 ...

  6. 如何正确管理HBase的连接,从原理到实战

    本文将介绍HBase的客户端连接实现,并说明如何正确管理HBase的连接. 最近在搭建一个HBase的可视化管理平台,搭建完成后发现不管什么查询都很慢,甚至于使用api去listTable都要好几秒. ...

  7. Davor COCI 2018

    当题目中有多组解,但要某值最大,该怎么办? 本文为博客园ShyButHandsome的原创作品,转载请注明出处 题目描述 After successfully conquering the South ...

  8. 【Tool】IDEA 连接数据库

    窗口 View - DataBase 右侧的窗口弹出,点加号选择数据库 没有装载驱动包,提示下载 可以选择老版本的驱动,或者新版的 老版本驱动只需要填入数据库,账户和密码即可测试链接,显示连接成功 新 ...

  9. 【Java】Junit单元测试

    什么是单元测试? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证. 对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Ja ...

  10. webWMS开发过程记录(六)- 详细设计之系统管理

    一.功能说明 1. 权限管理 (参考“权限管理-百度百科") 定义:一般指根据系统设置的安全规则或安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少. 分类:从控制力度来看,通常分 ...