使用nginx部署前端項(xiàng)目的實(shí)現(xiàn)
1.安裝nginx
直接安裝報(bào)錯(cuò)復(fù)現(xiàn)
yum -y install nginx
解釋:
Nginx在CentOS官方軟件倉(cāng)庫(kù)中不可用,但它在EPEL (額外的CentOS軟件包)軟件倉(cāng)庫(kù)中可用,因此安裝前需要先安裝EPEL軟件倉(cāng)庫(kù)
正確安裝方式
1.安裝epel-release
yum -y install epel-release
2.安裝Nginx
yum -y install nginx
3.啟動(dòng)Nginx
Nginx安裝完成后,啟動(dòng)Nginx服務(wù)
systemctl start nginx #啟動(dòng)服務(wù) systemctl enable nginx #設(shè)置開(kāi)機(jī)自啟 systemctl status nginx #查看啟動(dòng)狀態(tài)
4.配置Nginx
由于Nginx默認(rèn)配置文件并不適合我們的需求,我們需要對(duì)其進(jìn)行修改。您可以按照下面的步驟操作:
備份默認(rèn)配置文件:
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
使用文本編輯器打開(kāi)新的配置文件 /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運(yùn)行的用戶來(lái)指定為nginx,同時(shí)為每個(gè)CPU核心配置一個(gè)worker進(jìn)程,在“http”部分添加了一些基礎(chǔ)配置,為Nginx添加了默認(rèn)的www根目錄和默認(rèn)的網(wǎng)站,以及配置了幾個(gè)常見(jiàn)的錯(cuò)誤頁(yè)面
5.重啟Nginx
systemctl restart nginx
現(xiàn)在,您已經(jīng)成功地安裝和配置了Nginx。您可以通過(guò)打開(kāi)服務(wù)器的IP地址或域名,以HTTP協(xié)議訪問(wèn)服務(wù)器進(jìn)行測(cè)試
2.配置自己網(wǎng)頁(yè)
1.創(chuàng)建網(wǎng)站根目錄
在服務(wù)器上創(chuàng)建一個(gè)新的目錄來(lái)存放您的網(wǎng)站文件。例如,您可以在 /var/www/目錄中創(chuàng)建一個(gè)名為 mysite 的新目錄:
mkdir -p /var/www/mysite
2.添加網(wǎng)站文件
可使用ftp工具,也可以自己創(chuàng)建一個(gè)html
3.配置Nginx
vim /etc/nginx/nginx.conf
server { listen 8888; #配置端口 listen [::]:8888; server_name 192.168.6.100; #修改為您的域名 root /var/www/mysite; #必須在這個(gè)層里面有自己的index.html首頁(yè) index index.html; location / { try_files $uri $uri/ =404; } }
在Nginx配置文件中的 server 塊中,經(jīng)常會(huì)看到兩個(gè) listen 語(yǔ)句,看起來(lái)會(huì)有點(diǎn)奇怪:
server { listen 80; listen [::]:80; ... }
其中,listen 80;
表示將監(jiān)聽(tīng)服務(wù)器的端口 80,而 listen [::]:80;
則是 IPv6 地址的監(jiān)聽(tīng)器,同時(shí)監(jiān)聽(tīng)端口 80。
這種方式可以確保您的網(wǎng)站可以通過(guò) IPv4 和 IPv6 連接進(jìn)行訪問(wèn)。例如,如果您使用的是第一個(gè) listen 語(yǔ)句,那么只能使用 IPv4 地址連接到您的網(wǎng)站(例如,192.0.2.1),而如果您的服務(wù)器支持 IPv6,則使用 [::ffff:192.0.2.1] 進(jìn)行 IPv4 轉(zhuǎn)換。而如果您將其更改為僅使用 IPv6,那么僅支持 IPv6 的瀏覽器將無(wú)法訪問(wèn)您的網(wǎng)站。
因此,為了使您的網(wǎng)站能夠通過(guò) IPv4 和 IPv6 訪問(wèn),最好同時(shí)使用 listen 80;
和 listen [::]:80;
。如果您認(rèn)為您的網(wǎng)站僅需要通過(guò)一個(gè)協(xié)議進(jìn)行訪問(wèn),請(qǐng)僅使用相應(yīng)的 listen
語(yǔ)句。
上述配置文件指定了一個(gè)新的虛擬主機(jī),其中“server_name”指定為您要托管的網(wǎng)站的名稱,例如“192.168.6.100”,“root”指定為您創(chuàng)建的網(wǎng)站根目錄,例如“/var/www/mysite”,并且“index”指定為默認(rèn)的網(wǎng)站文件名。
請(qǐng)注意,其余配置文件的內(nèi)容將保持不變,您無(wú)需更改默認(rèn)配置文件就可以進(jìn)行啟動(dòng)和訪問(wèn)
4.測(cè)試Nginx配置
5.重啟Nginx
systemctl restart nginx
3.可能遇到的問(wèn)題
如果您在配置 Nginx 后仍無(wú)法訪問(wèn)您的網(wǎng)站,則可能存在以下一些常見(jiàn)問(wèn)題:
1.防火墻端口未打開(kāi)
如果您正在使用 Linux 防火墻(如 firewalld 或 iptables),則您可能需要打開(kāi)端口以便讓人們通過(guò)您的 Nginx 服務(wù)器訪問(wèn)您的網(wǎng)站。例如,如果您正在監(jiān)聽(tīng)端口 80,則可以使用以下命令打開(kāi)該端口:
使用 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,則它可能會(huì)禁止 Nginx 訪問(wèn)某些文件或端口。您可以使用以下命令禁用 SELinux:
sudo setenforce 0
此外,您也可以編輯 SELinux 的規(guī)則以允許 Nginx 訪問(wèn)相應(yīng)的文件或端口,以免在禁用 SELinux 的情況下降低系統(tǒng)安全性。
3.其他端口或路徑?jīng)_突
如果您已經(jīng)將 Web 服務(wù)器配置在其他端口上,則必須將 Nginx 監(jiān)聽(tīng)不同的端口。同理,如果您安裝了其他軟件或 Web 應(yīng)用程序,則可能會(huì)發(fā)生端口或路徑?jīng)_突。在這種情況下,您需要更改 Nginx 的配置或更改其它的服務(wù)配置以避免沖突。
4.檢查配置文件語(yǔ)法和錯(cuò)誤
在修改 Nginx 配置文件時(shí),很容易犯語(yǔ)法或其他錯(cuò)誤。您可以使用以下命令檢查 Nginx 配置文件的語(yǔ)法是否正確:
sudo nginx -t
如果您的配置文件存在語(yǔ)法錯(cuò)誤,則輸出類似于以下內(nèi)容:
nginx: [emerg] unexpected "[" in /etc/nginx/conf.d/example.com.conf:8
請(qǐng)仔細(xì)檢查輸出錯(cuò)誤信息,修復(fù)配置文件中的語(yǔ)法錯(cuò)誤。
5.當(dāng)前網(wǎng)絡(luò)不可用
最后,確保您正在使用可訪問(wèn)互聯(lián)網(wǎng)的網(wǎng)絡(luò),以免因網(wǎng)絡(luò)問(wèn)題而無(wú)法訪問(wèn)您的網(wǎng)站。如果您可以訪問(wèn)其他網(wǎng)站,但無(wú)法訪問(wèn)您自己的網(wǎng)站,則可能是由于 DNS 配置不正確導(dǎo)致的。在這種情況下,您可以暫時(shí)在您的本地計(jì)算機(jī)上修改 hosts 文件以嘗試直接連接到您的服務(wù)器。
到此這篇關(guān)于使用nginx部署前端項(xiàng)目的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)nginx部署前端項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的Bottle框架基本知識(shí)總結(jié)
這篇文章主要介紹了Python的Bottle框架基本知識(shí)總結(jié),本文翻譯自Bottle官方開(kāi)發(fā)文檔,需要的朋友可以參考下2015-05-05詳解Nginx實(shí)戰(zhàn)之讓用戶通過(guò)用戶名密碼認(rèn)證訪問(wèn)web站點(diǎn)
這篇文章主要介紹了詳解Nginx實(shí)戰(zhàn)之讓用戶通過(guò)用戶名密碼認(rèn)證訪問(wèn)web站點(diǎn),有興趣的可以了解一下。2016-11-11Nginx實(shí)現(xiàn)Nacos反向代理的項(xiàng)目實(shí)踐
在日常的web網(wǎng)站部署中,經(jīng)常會(huì)用到nginx反向代理,本文主要介紹了Nginx實(shí)現(xiàn)Nacos反向代理的項(xiàng)目實(shí)踐,Nginx實(shí)現(xiàn)Nacos反向代理的項(xiàng)目實(shí)踐2022-03-03nginx利用lua語(yǔ)言實(shí)現(xiàn)軟waf的示例代碼
這篇文章主要介紹了nginx利用lua語(yǔ)言實(shí)現(xiàn)軟waf,文中通過(guò)代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03在Nginx服務(wù)器上配置Google反向代理的基本方法
這篇文章主要介紹了在Nginx服務(wù)器上配置Google反向代理的基本方法,文中使用到了SSL來(lái)加密反向代理,需要的朋友可以參考下2015-12-12