注意:直接yum安裝的nginx有問題,不能直接安裝,因為centos默認庫里面沒有nginx。如果安裝過程中出現一些文件夾或者文件找不到的話,應該是你的nginx的版本沒有安裝對。最效率的辦法是刪除了安裝正確的版本。
centos7下使用yum安裝nginx並部署angular應用
1.進入root模式
安裝過程涉及到文件寫入,不廢話直接進入root:

su root
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,根據我自己的實際情況做了一些刪減和改變,如果原作者不同意,請聯系我刪除相關內容。