1

给你一款利器!轻松生成 Nginx 配置文件-51CTO.COM

 2 years ago
source link: https://os.51cto.com/article/707663.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

62cf6b119357016eb651768ce08bfdb974ba0e.jpg

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-devel
sudo 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

9328cad30ce7f62c9e46831d94c79944e904f2.jpg

现在在您的系统上安装 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 -v
v17.9.0

a47ece487dde21af93306642cbf9bd8f6056c1.jpg

第 2 步 – 在 Linux 上安装 NGINXConfig

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

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

17b1251586231a3ee98916f1d87e86924afeae.jpg

导航到目录:

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

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

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com    
npm install
npm 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)

56f744d467fcefc307538944f699621e989040.jpg

现在运行 NGINXConfig 开发服务器

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

b68aef492ed7caf69d9558ebef3340d7d4adf8.jpgc6144db622fc53e6d2988349e7dbe794ca4ba9.jpg

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

46ca99b50c7bd8491df7103a94d5c9a85a5bbf.jpg

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

npm run build

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

sudo npm install -g serve

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

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

8306623172650bc579e20537faaa0fdedb5aea.jpg

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

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

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

d95719508269b97309a2632815a68171028fcc.jpg

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

13e5acf2359ddd352af338d8cb1334337fc84d.jpg

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

以下是示例文件:

511cb3b3096bb4f083b286b2492e82ca8f5df5.jpg

您可以选择将文件复制到提供的文件夹或下载压缩配置文件并将其上传到服务器的/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 0644
x nginx.conf
x sites-available/nginx.ww.linuxmi.com.conf
x sites-enabled/nginx.ww.linuxmi.com.conf
x nginxconfig.io/letsencrypt.conf
x nginxconfig.io/security.conf
x nginxconfig.io/general.conf
x nginxconfig.io/php_fastcgi.conf
#移动文件和文件夹
sudo mv nginx.conf /etc/nginx/nginx.conf
sudo mv nginxconfig.io /etc/nginx/nginxconfig.io
sudo mv sites-available/* /etc/nginx/conf.d/
# 验证配置
$ sudo nginx -t

就是这么容易!

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK