centos7 下 nginx 的安装与配置

前言

一直听说 nginx 这个代理服务器性能很高,也考虑到本人服务器上有一堆静态网站,因此想着从用 node 做反向代理切换到用 nginx 来做反向代理。但是因为自己服务器上还跑着一些项目,不能随意停掉,也就是说转换的过程必须要快。而本人对 nginx 还不是很熟悉,然后就一直没有动手去做。直到发现了 nginxconfig.io(现名www.digitalocean.com)这个网站,用可视化的方法来生成 nginx 配置,用户只需要选择需要的功能即可,极大的简化了配置流程。

nginx 安装

centos7 下使用 yum 安装会比较快,并且直接配置好了环境变量,可以直接使用

yum install nginx

安装完成后使用

nginx -v

查看即可

nginx 配置

一、项目类型选择

mark

首先是选择项目类型。

如果是静态网站的话,选择第一个即可,也就是找个目录直接托管就完事了,而如果是代理 api,那么就得转发到指定端口,要开启 reverse proxy【这里当我们选择 node.js 项目时会自动开启】

二、配置域名和根目录

mark

这里是最关键的内容,也就是配置要监听的端口、域名和网站根目录

关于是否实在 www 子域名和子域名重定向由项目要求决定

三、配置 https

这里基本上默认就行了。如果已经有 https 证书了那就自己填,如果没有则让【Let’s Encrypt】生成一个。

mark

四、配置转发

这里要注意一点,如果是静态网站,是不需要配置转发的,如果配置了转发会覆盖网站根目录的设置【也就是转发和静态根目录选一个】

配置转发路径和地址即可

mark

五、配置首页

这里也默认就行

mark

六、配置日志

可以选也可以不选,如果线上环境建议选上

mark

七、全局配置

mark

基本上都默认即可。最关键的也还是 https 的配置,这里选择默认。在 ssl profile 的选择上,如果选择 modern 容易出现兼容性问题导致直接打不开,如果选择 old 有安全风险,因此选择 intermediate。

不过选择 intermediate 模式后要注意除了 conf 配置项以外,还需要生成 Diffie-Hellman 证书

openssl dhparam -out /etc/nginx/dhparam.pem 2048

关于 OCSP DNS resolvers 的问题,我搜了下,这个是在服务端查询 dns 来加快客户端响应的操作,也可以选上。不过这些 dns 主要还是针对国外用户,国内用户建议再手动添加个 114.114.114.114

    # nginx.conf
    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 114.114.114.114 1.1.1.1 1.0.0.1 8.8.8.8 8.8.4.4 208.67.222.222 208.67.220.220 valid=60s;
    resolver_timeout 2s;

最后将下载的配置文件传到服务器,重启 nginx 即可~

nginx -s reload

评论

发表回复