目录:
- 安装最新稳定版本
- 配置站点上线
- 为站点配置HTTPS
过程中应该注意的问题
-
安装Nginx完成后你应该执行以下命令来启动Nginx服务:
sudo systemctl start nginx
成功启动的话,不会有任何Nginx相关信息输出。
-
修改Nginx配置后,可通过执行
nginx -s reload
命令进行重载,更多相关请转到本文配置站点上线第四部分加载配置
。 -
配置站点上线后,若发现访问域名得到的页面却是 **Nginx 403 ** 错误页面,你可以试着查看Nginx的错误日志,我遇到最常见的引发此错误的原因是Nginx配置中的用户权限不够,说白了就是Nginx配置文件(
nginx.conf
)中的用户权限和站点目录用户权限不一致。为了检查是否为这个问题,你可以试着在站点目录下执行
ll
(两个小写的L)命令,查看文件用户,在我的服务器上站点目录用户为root
,于是我将Nginx默认用户也修改为root
,并重载配置文件,至此站点已经可以正常访问。具体修改方法:修改
/etc/nginx/nginx.conf
文件中第一行user
后参数为root
(根据你的目录所有者修改)。
安装最新稳定版本
我当前服务器系统版本号为Ubuntu16.04,默认源安装的Nginx版本是v1.10.0,有消息指出v1.15.6之前版本存在多个安全问题,所以赶紧来将其升级至最新稳定版本。
-
卸载旧版本
v1.14.0版本前后目录存在差异,建议执行
sudo apt-get --purge remove nginx
将已经安装的旧版本Ngxin的配置文件和程序全都卸载,当然,你可以选择备份sites-available
文件夹下的配置文件。 -
安装新版本
-
Nginx版本介绍
先了解一下Nginx各个版本,官网地址
http://nginx.org/en/download.html
。页面中有以下版本:
- Mainline version:正在开发阶段的版本,可能会有漏洞。
- Stable version:稳定版
- Legacy versions: 历史版本
-
Nginx升级/安装步骤
以安装最新v1.16.0稳定版为例。
-
执行下列命令以添加Nginx官方源
sudo wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key
-
在
/etc/apt/sources.list
文件末加入下面两行内容deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx
注:上面两行内容中
xenial
是Ubuntu系统代号,各大版本代号不同:Version Code 16.04 xenial 18.04 bionic 18.10 cosmic 19.04 disco 更多参见:
http://nginx.org/en/linux_packages.html#stable
-
执行安装指令
以上步骤 1 & 2 完成了Nginx官方源的添加,接下来执行常规安装就好。
sudo apt update sudo apt install nginx
-
检查版本
nginx -v
此时显示的版本应该是
nginx version: nginx/1.16.0
大功告成。
-
-
注:重新安装后你应该执行以下命令来启动Nginx服务:
sudo systemctl start nginx
成功启动的话,不会有任何Nginx相关信息输出。
配置站点上线
不得不赞叹,Nginx简直就是神器,强大的反向代理以及负载均衡工具,其只需要监控80口,便可以根据配置文件上线大量站点(多个站点不同域名均解析至同一服务器IP,Nginx根据配置文件为不同域名返回其对应的站点内容),实现单服务器单IP单端口配置大量站点!并且其基础功能配置简单,极易上手。
大致步骤:
-
在服务器建好目录用于存放你的站点文件(这里的测试用例均为静态页面,若为JSP或者PHP站点需要先搭建其他环境,再配合Nginx)
-
在
/etc/nginx/conf.d
(这是Nginx默认安装目录下的站点配置目录)下新建站点配置文件,命名格式为domain.conf
。注:
- 个人建议配置文件命名格式为
domain.conf
,为不同域名建立不同的配置文件,方便管理。 - 若你还在使用旧版本Nginx,其也是有此目录的,配置文件完全可以放在此目录下,
sites-available
文件夹不管问题不大。
- 个人建议配置文件命名格式为
-
配置文件写法
下面是我的静态站点配置文件(
/etc/nginx/conf.d/3ders.conf
)内容:server{ listen 80; # 监听80口 server_name 3ders.xyz; # 站点域名 root /root/www/3ders.xyz/; # 站点目录 index index.html; # 站点默认首页 }
没有过多要求的话,这么写就行了。
-
加载配置
执行
nginx -s reload
加载刚刚改好的配置,这是热重载,不同担心其他已经在运行的站点受本次配置更新受影响而无法正常访问。并且就算是配置文件有误,执行完命令会提示具体错误,并且Nginx仍会按照上一次正确的配置运行,不会down掉。
若还不放心,可以先执行
nginx -t
命令测试配置文件,若是配置无误则会提示以下信息:nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
至此,你的站点已经可以成功通过域名访问了。
你可以试着访问我的样例网站3ders.xyz。
注
差点忘记说了,你应该记得将你的域名解析至服务器IP,并且完成上述步骤后,才算是大功告成。
为站点配置HTTPS
待续……
全文源地址:https://xn–gmq34dr7k6kal2c.xn–6qq986b3xl/2019/05/23/%E5%88%9D%E6%B6%89nginx/