在CentOS Stream 8上配置Nginx涉及幾個步驟,包括安裝Nginx、配置防火墻以及啟動和啟用Nginx服務。以下是詳細的步驟:
首先,確保你的系統是最新的,并且已經安裝了EPEL倉庫(Extra Packages for Enterprise Linux),因為Nginx可能不在默認的CentOS倉庫中。
sudo dnf update -y
sudo dnf install epel-release -y
接下來,安裝Nginx:
sudo dnf install nginx -y
安裝完成后,啟動Nginx服務并設置開機自啟:
sudo systemctl start nginx
sudo systemctl enable nginx
CentOS Stream 8默認使用firewalld作為防火墻管理工具。你需要允許HTTP和HTTPS流量通過防火墻。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
確保Nginx配置文件沒有語法錯誤:
sudo nginx -t
如果配置文件沒有問題,你會看到類似以下的輸出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
打開瀏覽器,訪問你的服務器IP地址或域名,你應該能看到Nginx的默認歡迎頁面。
如果你需要自定義Nginx配置,可以編輯/etc/nginx/nginx.conf文件或創建一個新的配置文件并將其包含在/etc/nginx/conf.d/目錄下。
例如,創建一個新的配置文件:
sudo nano /etc/nginx/conf.d/example.conf
添加以下內容:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/html;
}
}
保存并退出編輯器,然后重新加載Nginx配置:
sudo systemctl reload nginx
為了提高安全性,你可以考慮以下配置:
你可以使用Let’s Encrypt免費獲取SSL/TLS證書:
sudo dnf install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
按照提示完成證書的安裝和配置。
通過以上步驟,你應該能夠在CentOS Stream 8上成功配置Nginx。