Nginx作为一个轻量级的HTTP服务器,相比Apache优势也是比较明显的,在性能上它占用资源少,能支持更高更多的并发连接,从而达到提高访问效率;在功能上它是一款非常优秀的代理服务器与负载均衡服务器;在安装配置上它安装,配置都比较简单。
关于Nginx部署、配置的文章公众号已经发布过很多:
深度总结|深入浅出Nginx
HTTP服务器Nginx服务介绍续
Nginx优化配置详解
1分钟搞定 Nginx 版本的平滑升级与回滚
指南:提高Nginx服务器硬度的12个技巧
大流量、高负载场景 Nginx+Linux 性能调优
利用ELK分析Nginx日志生产实战(高清多图)
文章很多,就不再逐一列举了,有兴趣的、需要的可以去公众号通过检索功能查找相关的文章。
对于Nginx一些配置的详细解释,之前也写过相关的文章:
Nginx优化配置详解
但在实际的生产配置环境中,肯定会经常遇到需要修改、或者重新增加Nginx配置的问题,有的时候需求更是多种多样,修修改改经常会出现这样、那样的一些错误,特别的烦索。
基于以上的原因,肯定很多读者伙伴经常会收集一些配置文档、或者电脑里也保存着一些自己日常的常用配置案例,但是终究还是不是很便利。今天,民工哥给大家介绍一款「超级牛掰的神器」,可以在线一键生成Nginx的配置。
NGINX Config 支持 HTTP、HTTPS、PHP、Python、Node.js、WordPress、Drupal、缓存、逆向代理、日志等各种配置选项。在线生成 Web 服务器 Nginx 配置文件。
操作配置也非常简单,你需要做的只需要2步:
- 打开官方网站
- 按需求配置相关参数
系统就会自动生成特定的配置文件。虽然界面是英文的,但是功能的页面做的非常直观,生成的Nginx格式规范。
登陆之后大概的界面如下:
案例展示
配置域名:mingongge.com 实现用户访问*.mingongge.com 域名时会自动跳转到 mingongge.com 此配置,并且开启http强制跳转到https的配置。
这时,Nginx的配置就会实时自动生成在下面,我把生成的配置复制过来,如下:
- /etc/nginx/sites-available/mingongge.com.conf
- #文件名都给你按规则配置好了
- server {
- listen 443 ssl http2;
- server_name mingongge.com;
- # SSL
- ssl_certificate /etc/letsencrypt/live/mingongge.com/fullchain.pem;
- ssl_certificate_key /etc/letsencrypt/live/mingongge.com/privkey.pem;
- ssl_trusted_certificate /etc/letsencrypt/live/mingongge.com/chain.pem;
- # security
- include nginxconfig.io/security.conf;
- # additional config
- include nginxconfig.io/general.conf;
- }
- # subdomains redirect
- server {
- listen 443 ssl http2;
- server_name *.mingongge.com;
- # SSL
- ssl_certificate /etc/letsencrypt/live/mingongge.com/fullchain.pem;
- ssl_certificate_key /etc/letsencrypt/live/mingongge.com/privkey.pem;
- ssl_trusted_certificate /etc/letsencrypt/live/mingongge.com/chain.pem;
- return 301 https://mingongge.com$request_uri;
- }
- # HTTP redirect
- server {
- listen 80;
- server_name .mingongge.com;
- include nginxconfig.io/letsencrypt.conf;
- location / {
- return 301 https://mingongge.com$request_uri;
- }
- }
非常的方便与快速。
官方还提供一些Nginx的基础优化配置,如下:
- /etc/nginx/nginx.conf
- # Generated by nginxconfig.io
- user www-data;
- pid /run/nginx.pid;
- worker_processes auto;
- worker_rlimit_nofile 65535;
- events {
- multi_accept on;
- worker_connections 65535;
- }
- http {
- charset utf-8;
- sendfile on;
- tcp_nopush on;
- tcp_nodelay on;
- server_tokens off;
- log_not_found off;
- types_hash_max_size 2048;
- client_max_body_size 16M;
- # MIME
- include mime.types;
- default_type application/octet-stream;
- # logging
- access_log /var/log/nginx/access.log;
- error_log /var/log/nginx/error.log warn;
- # load configs
- include /etc/nginx/conf.d/*.conf;
- include /etc/nginx/sites-enabled/*;
- }
还有基于安全的配置,如下:
- /etc/nginx/nginxconfig.io/security.conf
- # security headers
- add_header X-Frame-Options "SAMEORIGIN" always;
- add_header X-XSS-Protection "1; mode=block" always;
- add_header X-Content-Type-Options "nosniff" always;
- add_header Referrer-Policy "no-referrer-when-downgrade" always;
- add_header Content-Security-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline'" always;
- # . files
- location ~ /\.(?!well-known) {
- deny all;
- }
都相当于是提供一些基础的模板配置,可以根据自己的实际需求去修改。
有了这个神器在手,再也不用为配置Nginx的各类配置而烦恼了!!民工哥也不敢私藏这么好的神器在手里,今天给大家分享一下,感觉有帮助的读者朋友们记得转发分享出去哦,感谢支持!!!