Linux平臺nginx安裝
# Linux平臺nginx安裝
本文編寫時候的測試平臺:騰訊云輕量應(yīng)用服務(wù)器
操作系統(tǒng):ubuntu18.4
## 1.nginx安裝和配置
```shell
1.官方地址: http://nginx.org/
2. Nginx相關(guān)依賴:
OpenSSL: http://www.openssl.org/
密碼庫使用https進(jìn)行通信的時候使用
./config
make
make test (可選)
sudo make install
ZLib下載: http://www.zlib.net/
數(shù)據(jù)壓縮
安裝:
./configure
make
sudo make install
PCRE下載: http://www.pcre.org/
解析正則表達(dá)式
安裝
tar jxvf pcre-8.40.tar.bz2
./configure
make
sudo make install
# nginx工作時候需要依賴三個庫
# 三個參數(shù)=這三個庫對應(yīng)的源碼安裝目錄
# 根據(jù)自己的電腦的庫安裝包的位置進(jìn)行指定
./configure --with-openssl=../openssl-1.0.1t --with-pcre=../pcre-8.40 --with-zlib=../zlib-1.2.11
make
sudo make install
```
### 安裝錯誤處理
1.sha1 library is not found?
```shell
#安裝libssl-dev
sudo apt-get update
sudo apt-get libssl-dev
```
2.src/core/ngx_murmurhash.c:37:11: error: this statement may fall through
```shell
進(jìn)入objs/Makefile,打開Makefile文件將編譯選項中的CFLAGS =? -pipe? -O -W -Wall -Wpointer-arith -Wno-unused-parameter? -werror -g中的“-werror"刪除
```
### nginx 默認(rèn)安裝目錄
```shell
/usr/local/nginx
conf -> 存儲配置文件的目錄
html -> 默認(rèn)的存儲網(wǎng)站(服務(wù)器)靜態(tài)資源的目錄 [圖片, html, js, css]
logs -> 存儲log日志
sbin -> 啟動nginx的可執(zhí)行程序
#Nginx可執(zhí)行程序的路徑
/usr/local/nginx/sbin/nginx
# 快速啟動的方式
# 1. 將/usr/local/nginx/sbin/添加到環(huán)境變量PATH中
# 2. /usr/local/nginx/sbin/nginx創(chuàng)建軟連接, 放到PATH對應(yīng)的路徑中, 比如: /usr/bin
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
# 假設(shè)軟連接已經(jīng)創(chuàng)建完畢
sudo nginx # 啟動
# 第一種, 馬上關(guān)閉
sudo nginx -s stop
# 第二種, 等nginx作為當(dāng)前操作之后關(guān)閉
sudo nginx -s quit
sudo nginx -s reload # 修改了nginx的配置文件之后, 需要執(zhí)行該命令
```
## 2.nginx無法啟動的問題
1.nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)端口被占用
```shell
netstat -tln #查看所有端口的使用情況
netstat -tln | grep 80 #只查看80端口的使用情況
sudo lsof -i :80 #可獲得占用的進(jìn)程號
sudo kill -9 進(jìn)程號
```
2.有進(jìn)程無法訪問應(yīng)該是防火墻問題
```shell
sudo apt-get install firewalld
#查看防火墻端口
sudo firewall-cmd --list-ports?
#3.查看nginx.conf中,默認(rèn)的端口是80
#把80添加到默認(rèn)防火墻中
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
#4.重啟防火墻
sudo firewall-cmd --reload
#5.再次查看防火墻
sudo? firewall-cmd --list-ports
#6.問題解決
```
我的CSDN地址:
https://blog.csdn.net/lamp562976334/article/details/129090967?spm=1001.2014.3001.5501