使用nginx部署前端項目的實現(xiàn)
1.安裝nginx
直接安裝報錯復(fù)現(xiàn)
yum -y install nginx
解釋:
Nginx在CentOS官方軟件倉庫中不可用,但它在EPEL (額外的CentOS軟件包)軟件倉庫中可用,因此安裝前需要先安裝EPEL軟件倉庫
正確安裝方式
1.安裝epel-release
yum -y install epel-release
2.安裝Nginx
yum -y install nginx
3.啟動Nginx
Nginx安裝完成后,啟動Nginx服務(wù)
systemctl start nginx #啟動服務(wù) systemctl enable nginx #設(shè)置開機自啟 systemctl status nginx #查看啟動狀態(tài)
4.配置Nginx
由于Nginx默認配置文件并不適合我們的需求,我們需要對其進行修改。您可以按照下面的步驟操作:
備份默認配置文件:
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
使用文本編輯器打開新的配置文件 /etc/nginx/nginx.conf
,并將其修改為以下內(nèi)容:
user nginx; worker_processes auto; worker_rlimit_nofile 8192; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; sendfile on; tcp_nopush on; tcp_nodelay on; #gzip on; server { listen 80; server_name localhost; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
上述配置文件將Nginx運行的用戶來指定為nginx,同時為每個CPU核心配置一個worker進程,在“http”部分添加了一些基礎(chǔ)配置,為Nginx添加了默認的www根目錄和默認的網(wǎng)站,以及配置了幾個常見的錯誤頁面
5.重啟Nginx
systemctl restart nginx
現(xiàn)在,您已經(jīng)成功地安裝和配置了Nginx。您可以通過打開服務(wù)器的IP地址或域名,以HTTP協(xié)議訪問服務(wù)器進行測試
2.配置自己網(wǎng)頁
1.創(chuàng)建網(wǎng)站根目錄
在服務(wù)器上創(chuàng)建一個新的目錄來存放您的網(wǎng)站文件。例如,您可以在 /var/www/目錄中創(chuàng)建一個名為 mysite 的新目錄:
mkdir -p /var/www/mysite
2.添加網(wǎng)站文件
可使用ftp工具,也可以自己創(chuàng)建一個html
3.配置Nginx
vim /etc/nginx/nginx.conf
server { listen 8888; #配置端口 listen [::]:8888; server_name 192.168.6.100; #修改為您的域名 root /var/www/mysite; #必須在這個層里面有自己的index.html首頁 index index.html; location / { try_files $uri $uri/ =404; } }
在Nginx配置文件中的 server 塊中,經(jīng)常會看到兩個 listen 語句,看起來會有點奇怪:
server { listen 80; listen [::]:80; ... }
其中,listen 80;
表示將監(jiān)聽服務(wù)器的端口 80,而 listen [::]:80;
則是 IPv6 地址的監(jiān)聽器,同時監(jiān)聽端口 80。
這種方式可以確保您的網(wǎng)站可以通過 IPv4 和 IPv6 連接進行訪問。例如,如果您使用的是第一個 listen 語句,那么只能使用 IPv4 地址連接到您的網(wǎng)站(例如,192.0.2.1),而如果您的服務(wù)器支持 IPv6,則使用 [::ffff:192.0.2.1] 進行 IPv4 轉(zhuǎn)換。而如果您將其更改為僅使用 IPv6,那么僅支持 IPv6 的瀏覽器將無法訪問您的網(wǎng)站。
因此,為了使您的網(wǎng)站能夠通過 IPv4 和 IPv6 訪問,最好同時使用 listen 80;
和 listen [::]:80;
。如果您認為您的網(wǎng)站僅需要通過一個協(xié)議進行訪問,請僅使用相應(yīng)的 listen
語句。
上述配置文件指定了一個新的虛擬主機,其中“server_name”指定為您要托管的網(wǎng)站的名稱,例如“192.168.6.100”,“root”指定為您創(chuàng)建的網(wǎng)站根目錄,例如“/var/www/mysite”,并且“index”指定為默認的網(wǎng)站文件名。
請注意,其余配置文件的內(nèi)容將保持不變,您無需更改默認配置文件就可以進行啟動和訪問
4.測試Nginx配置
5.重啟Nginx
systemctl restart nginx
3.可能遇到的問題
如果您在配置 Nginx 后仍無法訪問您的網(wǎng)站,則可能存在以下一些常見問題:
1.防火墻端口未打開
如果您正在使用 Linux 防火墻(如 firewalld 或 iptables),則您可能需要打開端口以便讓人們通過您的 Nginx 服務(wù)器訪問您的網(wǎng)站。例如,如果您正在監(jiān)聽端口 80,則可以使用以下命令打開該端口:
使用 firewalld(CentOS 7+ 系統(tǒng)):
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --reload
使用 iptables:
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT sudo iptables-save > /etc/sysconfig/iptables
2.SELinux規(guī)則限制
如果您的操作系統(tǒng)安裝了 SELinux,則它可能會禁止 Nginx 訪問某些文件或端口。您可以使用以下命令禁用 SELinux:
sudo setenforce 0
此外,您也可以編輯 SELinux 的規(guī)則以允許 Nginx 訪問相應(yīng)的文件或端口,以免在禁用 SELinux 的情況下降低系統(tǒng)安全性。
3.其他端口或路徑?jīng)_突
如果您已經(jīng)將 Web 服務(wù)器配置在其他端口上,則必須將 Nginx 監(jiān)聽不同的端口。同理,如果您安裝了其他軟件或 Web 應(yīng)用程序,則可能會發(fā)生端口或路徑?jīng)_突。在這種情況下,您需要更改 Nginx 的配置或更改其它的服務(wù)配置以避免沖突。
4.檢查配置文件語法和錯誤
在修改 Nginx 配置文件時,很容易犯語法或其他錯誤。您可以使用以下命令檢查 Nginx 配置文件的語法是否正確:
sudo nginx -t
如果您的配置文件存在語法錯誤,則輸出類似于以下內(nèi)容:
nginx: [emerg] unexpected "[" in /etc/nginx/conf.d/example.com.conf:8
請仔細檢查輸出錯誤信息,修復(fù)配置文件中的語法錯誤。
5.當(dāng)前網(wǎng)絡(luò)不可用
最后,確保您正在使用可訪問互聯(lián)網(wǎng)的網(wǎng)絡(luò),以免因網(wǎng)絡(luò)問題而無法訪問您的網(wǎng)站。如果您可以訪問其他網(wǎng)站,但無法訪問您自己的網(wǎng)站,則可能是由于 DNS 配置不正確導(dǎo)致的。在這種情況下,您可以暫時在您的本地計算機上修改 hosts 文件以嘗試直接連接到您的服務(wù)器。
到此這篇關(guān)于使用nginx部署前端項目的實現(xiàn)的文章就介紹到這了,更多相關(guān)nginx部署前端項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Nginx實戰(zhàn)之讓用戶通過用戶名密碼認證訪問web站點
這篇文章主要介紹了詳解Nginx實戰(zhàn)之讓用戶通過用戶名密碼認證訪問web站點,有興趣的可以了解一下。2016-11-11在Nginx服務(wù)器上配置Google反向代理的基本方法
這篇文章主要介紹了在Nginx服務(wù)器上配置Google反向代理的基本方法,文中使用到了SSL來加密反向代理,需要的朋友可以參考下2015-12-12