centos下安裝nginx並部署angular應用


注意:直接yum安裝的nginx有問題,不能直接安裝,因為centos默認庫里面沒有nginx。如果安裝過程中出現一些文件夾或者文件找不到的話,應該是你的nginx的版本沒有安裝對。最效率的辦法是刪除了安裝正確的版本。

centos7下使用yum安裝nginx並部署angular應用

1.進入root模式

安裝過程涉及到文件寫入,不廢話直接進入root:

su root
View Code

2.安裝依賴環境

nginx編譯依賴gcc環境,其中的http模塊使用pcre來解析正則表達式和地址重寫等有關功能,nginx還會使用zlib對http包的內容進行gzip,以及支持https需要openssl。所以需要安裝這四個:

yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl--devel

3.添加nginx的yum庫

nginx並不在centos的默認庫中,需要添加:

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

4.安裝nginx

現在可以安裝了:

sudo yum install -y nginx

nginx相關目錄及功能

①.yum安裝后的nginx目錄結構
Nginx配置路徑:/etc/nginx/
PID目錄:/var/run/nginx.pid
錯誤日志:/var/log/nginx/error.log
訪問日志:/var/log/nginx/access.log
默認站點目錄:/usr/share/nginx/html
②.nginx的啟動、停止與重啟
nginx //啟動nginx
nginx -s quit //停止nginx
nginx -s reload //重新載入配置文件

到第四步結束時nginx已經安裝完畢,輸入nginx啟動命令后在瀏覽器輸入本機地址就能看到歡迎頁面,從第五步開始是部署angular項目的過程。

5.angular在build完之后會有一個index.html文件,這個文件在dist文件夾里面

我們要把angular build之后的dist文件夾放到上面提到的這個/usr/share/nginx/html站點目錄中,然后在/etc/nginx/conf.d這個文件夾中進行配置。

①將dist文件移動到/usr/share/nginx/html中:

cp -r /run/media/zzu/NGX/dist/. /usr/share/nginx/html

②開放文件權限,因為過程中有對/usr/share/nginx/html的寫入操作,所以我就直接將該文件夾遞歸解除所有權限

sudo chmod -R 777 /usr/share/nginx/html

③然后vim打開nginx配置文件

vi /etc/nginx/conf.d/default.conf

在location里面加入如下語句防止單頁應用出現404資源未找到錯誤:

try_files $uri $uri/ /index.html;

配置的樣例如下:

6.如果沒有開啟防火牆,開啟防火牆

開啟nginx默認使用的80端口:

firewall-cmd --permanent --zone=public --add-port=80/tcp

重啟防火牆使改動生效:

firewall-cmd –reload

6.啟動nginx服務

開啟nginx服務:

sudo systemctl start nginx.service

如果想設置開機啟動的話再執行:

sudo systemctl enable nginx.service

7.nginx的卸載

yum remove nginx

關閉端口:

firewall-cmd --permanent --zone=public --remove-port=80/tcp

8.為網站加上用戶名密碼驗證

為了實現這個功能首先要安裝httpd:

yum –y install httpd

設置用戶名和密碼,我們直接將加密的文件也放到nginx的默認目錄里(后面的“wallee”是我起的用戶名):

tpasswd –c /etc/nginx/passwd.db wallee

進入存放密碼的文件夾:

cd etc/nginx

查看一下加密后的密碼:

cat passwd.db

配置default.conf(同樣加在Location部分):

auth_basic “enter you name and password”;
auth_basic_user_file /etc/nginx/passwd.db;

然后重啟nginx即可看到效果;

以上大部分內容都是摘抄自https://blog.csdn.net/ren19950410/article/details/81871977,根據我自己的實際情況做了一些刪減和改變,如果原作者不同意,請聯系我刪除相關內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM