Code前端首页关于Code前端联系我们

Nginx 配置一键在线生成“神器”

terry 2年前 (2023-09-28) 阅读数 57 #未命名

作为一个轻量级的 HTTP 服务器,Nginx 相比 Apache 有着明显的优势。性能方面,消耗资源更少,可以支持更高、更多的并发连接,从而提高访问效率;从功能上来说,它是一个非常优秀的代理服务器和负载均衡服务器;在安装和配置方面,安装和配置都比较简单。

Nginx 配置在线一键生成“神器”

Nginx实现与配置的文章公众号已发表多篇文章:

深入总结|Nginx深入介绍
HTTP介绍HTTP服务器Nginx x优化配置介绍
获取 Nginx - 1 分钟版本。平滑升级回滚日志制作实践(高清多图)

文章很多,就不一一列举了。有兴趣和需要的可以去公众号通过搜索功能查找相关文章。

对于一些Nginx配置的详细讲解,我之前写过相关文章:

Nginx优化配置详解

但是在实际的生产配置环境中,肯定会经常遇到需要更改添加Nginx的情况Med在配置问题上,有时需求更加不同,修改时经常会出现这样或那样的错误,特别麻烦。

基于以上原因,相信很多读者经常会收集一些配置文档或者在自己的电脑上保存一些日常常见的配置案例,但毕竟还是不太实用。今天民工哥就给大家介绍一款可以一键在线生成Nginx配置的“超牛神器”。

Nginx 配置在线一键生成“神器”
网址:https://nginxconfig.io/

NGINX Config 支持 HTTP、HTTPS、PHP、Python、Node.js、WordPress、Drupal、缓存、反向代理、日志等配置选项。在线生成Web服务器Nginx配置文件。

操作配置也非常简单。您只需2步:

  • 打开官网
  • 根据需要配置相关参数

系统会自动生成具体的配置文件。虽然界面是英文,但功能页面非常直观,生成的Nginx格式也很标准化。

登录后的大致界面如下:

Nginx 配置在线一键生成“神器”

案例展示

配置域名:mingongge.com来实现此配置,当用户访问*.mingongge.com域名时,会自动跳转到mingongge.com 并启用http强制跳过 进入https的配置。

Nginx 配置在线一键生成“神器”

Nginx 配置在线一键生成“神器”

此时,下面会实时自动生成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;
}

它们相当于提供了一些基本的模板配置,可以根据自己的实际需求进行修改。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门