給你一款利器!輕松生成 Nginx 配置文件
Nginx 是一個(gè)非常高性能的 Web 服務(wù)器,具有處理大型站點(diǎn)的能力。由于它能夠處理多個(gè)并發(fā)連接,因此非常受歡迎。由于許多其他原因,它也是首選,例如:
- 其異步事件驅(qū)動(dòng)架構(gòu)
- 內(nèi)存使用率低
- 負(fù)載均衡
- 帶 SNI 的 TLS/SSL
- 靜態(tài)文件的驚人快速處理
- 帶緩存的 FastCGI 支持 (PHP)
- 反向代理
Linux 用戶發(fā)現(xiàn)配置此 Web 服務(wù)器很容易,但對(duì)于新用戶來(lái)說(shuō),這可能會(huì)令人困惑。本指南通過(guò)演示如何使用NGINXConfig輕松生成這些 Nginx 配置來(lái)解決這一難題。
第 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上
接下來(lái),安裝開(kāi)發(fā)工具
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
現(xiàn)在在您的系統(tǒng)上安裝 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
驗(yàn)證安裝。
com/home/linuxmi/www.linuxmi.
? node -v
v17.9.0
第 2 步 – 在 Linux 上安裝 NGINXConfig
現(xiàn)在我們將使用以下命令克隆系統(tǒng)上的 GitHub 存儲(chǔ)庫(kù):
com/home/linuxmi/www.linuxmi.
? git clone https://github.com/digitalocean/nginxconfig.io.git
導(dǎo)航到目錄:
com/home/linuxmi/www.linuxmi.
? cd nginxconfig.io
進(jìn)入目錄后,安裝所需的 NPM 包:
com/home/linuxmi/www.linuxmi.
npm install
npm ci
如果您啟用了防火墻,您可能需要允許該服務(wù)通過(guò)防火墻。默認(rèn)情況下,它運(yùn)行在8080端口,如果該端口正在使用,服務(wù)將監(jiān)聽(tīng)8081端口
對(duì)于 Firewalld
sudo firewall-cmd --add-port=8080/tcp --permanent sudo firewall-cmd --reload
對(duì)于 ufw
io master/home/linuxmi/www.linuxmi.com/nginxconfig.
? sudo ufw allow 8080
防火墻規(guī)則已更新
規(guī)則已更新(v6)
現(xiàn)在運(yùn)行 NGINXConfig 開(kāi)發(fā)服務(wù)器
io master/home/linuxmi/www.linuxmi.com/nginxconfig.
? npm run dev
此時(shí),應(yīng)該可以使用提供的 URL http://localhost:8080或http://serverip:8080訪問(wèn) NGINXConfig 開(kāi)發(fā)服務(wù)器
您也可以使用以下命令構(gòu)建用于生產(chǎn)的服務(wù)器:
npm run build
構(gòu)建過(guò)程完成后,您將創(chuàng)建dist文件夾。您可以使用安裝的 Node.js 靜態(tài)文件服務(wù)器來(lái)提供文件夾中的內(nèi)容,如下所示:
sudo npm install -g serve
第 3 步 – 使用 NGINXConfig 生成 Nginx 配置文件。
在瀏覽器上打開(kāi)提供的 URL?,F(xiàn)在通過(guò)提供域名、路徑和文檔根目錄來(lái)創(chuàng)建一個(gè) Nginx 配置文件。您還可以選擇預(yù)設(shè)模板。
如果您想為您的網(wǎng)站使用HTTPS ,您可以繼續(xù)并進(jìn)行調(diào)整。如果沒(méi)有,您可以通過(guò)取消選中該框來(lái)禁用它。
在這里,您還可以設(shè)置證書(shū)類型、自定義或來(lái)自 Let's Encrypt。
接下來(lái),如果站點(diǎn)是基于 PHP 的,則配置 PHP。
根據(jù)站點(diǎn)進(jìn)行其他配置,這些配置包括;Python、反向代理、站點(diǎn)日志等
現(xiàn)在您將根據(jù)所做的配置準(zhǔn)備好 Nginx conf 文件。
以下是示例文件:
您可以選擇將文件復(fù)制到提供的文件夾或下載壓縮配置文件并將其上傳到服務(wù)器的/etc/nginx目錄。
下載 生成的配置: nginxconfig.io-linuxmi.com.tar.gz
然后 上傳 到你的服務(wù)器的/etc/nginx 目錄.
或, 復(fù)制壓縮配置的base64字符串,將其粘貼到服務(wù)器的命令行并執(zhí)行。
進(jìn)入你的 NGINX服務(wù)器上的配置目錄:
cd /etc/nginx
創(chuàng)建當(dāng)前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
您也可以復(fù)制壓縮配置的base64 字符串并將其粘貼到服務(wù)器的命令行中以執(zhí)行它。
復(fù)制到所需文件夾后,啟用 conf,重新啟動(dòng) Nginx,然后訪問(wèn)該站點(diǎn)。
# 創(chuàng)建當(dāng)前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
#移動(dòng)文件和文件夾
sudo mv nginx.conf /etc/nginx/nginx.conf
sudo mv nginxconfig.io /etc/nginx/nginxconfig.io
sudo mv sites-available/* /etc/nginx/conf.d/
# 驗(yàn)證配置
$ sudo nginx -t
就是這么容易!
OK,本指南是關(guān)于如何使用 NGINXConfig 輕松生成 Nginx 配置文件。這只是讓您開(kāi)始使用 NGINXConfig 的簡(jiǎn)短指南。接下去請(qǐng)你繼續(xù)享受這個(gè)工具的美妙之處把。