在CentOS上部署Nginx可以通過以下步驟完成。以下是一個基本的指南,假設你已經安裝了CentOS 7或更高版本。
首先,確保你的系統是最新的:
sudo yum update -y
Nginx不在默認的CentOS倉庫中,但可以通過EPEL(Extra Packages for Enterprise Linux)倉庫安裝:
sudo yum install epel-release -y
使用yum安裝Nginx:
sudo yum install nginx -y
安裝完成后,啟動Nginx服務并設置開機自啟動:
sudo systemctl start nginx
sudo systemctl enable nginx
打開瀏覽器并訪問服務器的IP地址或域名,你應該會看到Nginx的默認歡迎頁面。
Nginx的主配置文件位于/etc/nginx/nginx.conf
。你可以根據需要編輯這個文件,或者創建一個新的配置文件在/etc/nginx/conf.d/
目錄下。
例如,創建一個新的配置文件/etc/nginx/conf.d/default.conf
:
sudo nano /etc/nginx/conf.d/default.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 /usr/share/nginx/html;
}
}
保存并退出編輯器(在nano中按Ctrl+X
,然后按Y
確認保存,最后按Enter
)。
在重新加載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
重新加載Nginx以應用新的配置:
sudo systemctl reload nginx
如果你的服務器啟用了防火墻(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
如果你需要為你的網站啟用HTTPS,可以使用Let’s Encrypt免費獲取SSL證書:
sudo yum install certbot python2-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
按照提示完成證書的安裝和配置。
通過以上步驟,你應該能夠在CentOS上成功部署Nginx。如果有任何問題,請檢查Nginx的日志文件以獲取更多信息:
sudo tail -f /var/log/nginx/error.log