vlambda博客
学习文章列表

给你一款利器!轻松生成 Nginx 配置文件

Nginx 是一个非常高性能的 Web 服务器,具有处理大型站点的能力。 由于它能够处理多个并发连接,因此非常受欢迎。 由于许多其他原因,它也是首选,例如:
  • 其异步事件驱动架构

  • 内存使用率低

  • 负载均衡

  • 带 SNI 的 TLS/SSL

  • 静态文件的惊人快速处理

  • 带缓存的 FastCGI 支持 (PHP)

  • 反向代理

Linux 用户发现配置此 Web 服务器很容易,但对于新用户来说,这可能会令人困惑。本指南通过演示如何使用NGINXConfig轻松生成这些 Nginx 配置来解决这一难题。

第 1 步 – 安装所需的软件包

由于我们将从 GitHub 克隆 NGINXConfig,因此我们需要安装 git:

在 RHEL/CentOS/Rocky Linux 8/Alma Linux 8上

 
   
   
 
sudo yum install git

在Debian / Ubuntu

 
   
   
 
sudo apt update sudo apt install git

在 RHEL/CentOS/Rocky Linux 8/Alma Linux 8上

接下来,安装开发工具

 
   
   
 
sudo yum -y groupinstall 'Development Tools'sudo yum -y install ncurses-devel make gcc bc openssl-develsudo yum -y install python3

在Debian / Ubuntu

 
   
   
 
sudo apt install curl build-essential python3 sudo apt install libncurses-dev flex libssl-dev libelf-dev bc bison

现在在您的系统上安装 NodeJS:

在Debian / Ubuntu

 
   
   
 
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -sudo apt -y install nodejs

在 RHEL/CentOS/Rocky Linux 8/Alma Linux 8上

 
   
   
 
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - sudo yum -y install nodejs

验证安装。

 
   
   
 
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ node -vv17.9.0

给你一款利器!轻松生成 Nginx 配置文件

第 2 步 – 在 Linux 上安装 NGINXConfig

现在我们将使用以下命令克隆系统上的 GitHub 存储库:

 
   
   
 
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ git clone https://github.com/digitalocean/nginxconfig.io.git

给你一款利器!轻松生成 Nginx 配置文件

导航到目录:

 
   
   
 
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com cd nginxconfig.io

进入目录后,安装所需的 NPM 包:

 
   
   
 
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com npm installnpm ci

如果您启用了防火墙,您可能需要允许该服务通过防火墙。默认情况下,它运行在8080端口,如果该端口正在使用,服务将监听8081端口

对于 Firewalld

sudo firewall-cmd --add-port=8080/tcp --permanent sudo firewall-cmd --reload
对于 ufw
 
   
   
 
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com/nginxconfig.io master⚡ sudo ufw allow 8080防火墙规则已更新规则已更新(v6)

给你一款利器!轻松生成 Nginx 配置文件

现在运行 NGINXConfig 开发服务器

 
   
   
 
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com/nginxconfig.io master⚡ npm run dev

给你一款利器!轻松生成 Nginx 配置文件

给你一款利器!轻松生成 Nginx 配置文件

此时,应该可以使用提供的 URL http://localhost:8080或http://serverip:8080访问 NGINXConfig 开发服务器

给你一款利器!轻松生成 Nginx 配置文件

您也可以使用以下命令构建用于生产的服务器:

 
   
   
 
npm run build

构建过程完成后,您将创建dist文件夹。您可以使用安装的 Node.js 静态文件服务器来提供文件夹中的内容,如下所示:

 
   
   
 
sudo npm install -g serve

第 3 步 – 使用 NGINXConfig 生成 Nginx 配置文件。

在浏览器上打开提供的 URL。现在通过提供域名、路径和文档根目录来创建一个 Nginx 配置文件。您还可以选择预设模板。

给你一款利器!轻松生成 Nginx 配置文件

如果您想为您的网站使用HTTPS ,您可以继续并进行调整。如果没有,您可以通过取消选中该框来禁用它

给你一款利器!轻松生成 Nginx 配置文件


在这里,您还可以设置证书类型、自定义或来自 Let's Encrypt。

接下来,如果站点是基于 PHP 的,则配置 PHP。

给你一款利器!轻松生成 Nginx 配置文件


根据站点进行其他配置,这些配置包括;Python、反向代理、站点日志等

给你一款利器!轻松生成 Nginx 配置文件


现在您将根据所做的配置准备好 Nginx conf 文件。

以下是示例文件:


您可以选择将文件复制到提供的文件夹或下载压缩配置文件并将其上传到服务器的/etc/nginx目录。

 
   
   
 
下载 生成的配置: nginxconfig.io-linuxmi.com.tar.gz然后 上传 到你的服务器的/etc/nginx 目录.
或, 复制压缩配置的base64字符串,将其粘贴到服务器的命令行并执行。
进入你的 NGINX服务器上的配置目录:cd /etc/nginx
创建当前NGINX配置的备份:tar -czvf nginx_$(date +'%F_%H-%M-%S').tar.gz nginx.conf sites-available/ sites-enabled/ nginxconfig.io/
使用tar解压新的压缩配置tar -xzvf nginxconfig.io-linuxmi.com.tar.gz | xargs chmod 0644

您也可以复制压缩配置的base64 字符串并将其粘贴到服务器的命令行中以执行它。

复制到所需文件夹后,启用 conf,重新启动 Nginx,然后访问该站点。

 
   
   
 
# 创建当前NGINX配置的备份:tar -czvf nginx_$(date +'%F_%H-%M-%S').tar.gz nginx.conf sites-available/ sites-enabled/ nginxconfig.io/
#使用tar提取新的压缩配置档案:$ tar -xzvf nginxconfig.io-nginx.ww.linuxmi.com.tar.gz | xargs chmod 0644x nginx.confx sites-available/nginx.ww.linuxmi.com.confx sites-enabled/nginx.ww.linuxmi.com.confx nginxconfig.io/letsencrypt.confx nginxconfig.io/security.confx nginxconfig.io/general.confx nginxconfig.io/php_fastcgi.conf
#移动文件和文件夹sudo mv nginx.conf /etc/nginx/nginx.confsudo mv nginxconfig.io /etc/nginx/nginxconfig.iosudo mv sites-available/* /etc/nginx/conf.d/
# 验证配置$ sudo nginx -t

就是这么容易!

OK,本指南是关于如何使用 NGINXConfig 轻松生成 Nginx 配置文件。这只是让您开始使用 NGINXConfig 的简短指南。接下去请你继续享受这个工具的美妙之处把。

来自:Linux迷
链接:https://www.linuxmi.com/nginxconfig-nginx.html
关注我们

长按或扫描下面的二维码关注 Linux公社



关注 Linux公社,添加“ 星标

每天 获取 技术干货,让我们一起成长

合作联系: [email protected]