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
现在在您的系统上安装 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
第 2 步 – 在 Linux 上安装 NGINXConfig
现在我们将使用以下命令克隆系统上的 GitHub 存储库:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
git clone https://github.com/digitalocean/nginxconfig.io.git
导航到目录:
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)
现在运行 NGINXConfig 开发服务器
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com/nginxconfig.io master
npm run dev
此时,应该可以使用提供的 URL http://localhost:8080或http://serverip:8080访问 NGINXConfig 开发服务器
您也可以使用以下命令构建用于生产的服务器:
npm run build
构建过程完成后,您将创建dist文件夹。您可以使用安装的 Node.js 静态文件服务器来提供文件夹中的内容,如下所示:
sudo npm install -g serve
第 3 步 – 使用 NGINXConfig 生成 Nginx 配置文件。
在浏览器上打开提供的 URL。现在通过提供域名、路径和文档根目录来创建一个 Nginx 配置文件。您还可以选择预设模板。
如果您想为您的网站使用HTTPS ,您可以继续并进行调整。如果没有,您可以通过取消选中该框来禁用它。
在这里,您还可以设置证书类型、自定义或来自 Let’s Encrypt。
接下来,如果站点是基于 PHP 的,则配置 PHP。
根据站点进行其他配置,这些配置包括;Python、反向代理、站点日志等
现在您将根据所做的配置准备好 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 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 的简短指南。接下去请你继续享受这个工具的美妙之处把。