之前沒在linux上安裝nginx並且部署前端環境,現總結如下
1.下載並解壓壓縮包
cd /app/ //下載tar包 wget http://nginx.org/download/nginx-1.13.7.tar.gz //解壓tar包 tar -xvf nginx-1.13.7.tar.gz //我直接解壓,改了名字。即/app/nginx
2.安裝nginx
//進入目錄 cd nginx //執行命令 ./configure //執行make命令 make //執行make install命令 make install
3.檢查安裝
# cd到剛才配置的安裝目錄 cd /app/nginx/ ./sbin/nginx -t
正常情況的信息輸出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
4.啟動nginx
cd /app/nginx/ /sbin/nginx //啟動nginx
瀏覽器輸入服務器ip,證明成功
已上成功的顯示
下面是有可能失敗的原因
1../sbin/nginx -t 命令后,出現以下錯誤
nginx: [alert] could not open error log file: open() "/opt/nginx-1.10.3//logs/error.log" failed (13: Permission denied) nginx: the configuration file /opt/nginx-1.10.3//conf/nginx.conf syntax is ok 2019/01/06 21:47:53 [emerg] 22206#0: open() "/opt/nginx-1.10.3//logs/nginx.pid" failed (13: Permission denied) nginx: configuration file /opt/nginx-1.10.3//conf/nginx.conf test failed
(1) 表示nginx下沒有error.log的文件
解決方法: nginx文件夾下新建logs文件夾
mkdir logs
chmod 700 logs
然后再次執行 ./sbin/nginx -t
然后執行./sbin/nginx,此時出現
2017/09/19 11:07:26 [emerg] 5580#3332: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 2017/09/19 11:09:35 [emerg] 7552#7556: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
原因是只有root權限的用戶可以conf的端口是1024以下,其他用戶只能1024以上,所以在nginx/conf/nginx.conf下面把80端口號改為8080即可
(1)查詢nginx啟動的服務 ps –ef | grep nginx (2)殺掉所有的進程 kill -9 sth (3)重新啟動nginx即可
然后輸入ip+端口號
最后把前端代碼打包,然后配置nginx.conf文件,然后直接重啟nginx。輸入你的ip+端口即可出現相應的前端界面。
注:如果后台服務和前端服務不在同一個端口,要在nginx.conf的文件中配置反向代理,否則接口會報405錯誤