Linux安裝Nginx的2種方式(Centos7版本)
第一步,通過安裝tengine 安裝nginx ,因為tengine裡面內建了nginx的安裝包,安裝tengine配置好後就安裝了nginx 下面安裝的軟體包
tengine-2.3.3.tar.gz 在這個上面安裝niginx
先切換到對應的目錄:
cd /home
mkdir soft 建立soft檔案夾,用來存放軟體壓縮包
虛拟機和win本地上傳檔案還可以通過rz指令進行上傳
yum install lrzsz
rz:從本地上傳檔案至伺服器
有些安裝可能沒有上面的提示輸入y的指令 我這邊是全新建立的一個虛拟機環境才有
直接輸入
rz
後面回車找到對應目錄,上傳就行
通過rz指令上傳軟體壓縮包,軟體壓縮包可以去官網下載下傳
或者 通過win本地和虛拟機互傳工具,把自己在win本地準備的python3.8的壓縮包上傳到虛拟機對應的目錄下
互傳工具:
Xfp
WinSCP 也可以互傳的
這裡用winscp ,輸入ip和密碼登入就可以
連結成功
直接在左邊win裡面把要傳的檔案,直接滑鼠拖動到對應目錄下面
傳輸成功
檢視是否上傳軟體壓縮包成功:
通過指令解壓
tar -zxvf tengine-2.3.3.tar.gz
解壓成功
進入目錄,檢視
輸入
more nginx.c 檢視這個檔案指令
通過上面檢視,知道nginx是C語言編寫的
是以要安裝這個檔案
1、 yum install gcc-c++
2、yum install -y pcre pcre-devel
3、yum install -y zlib zlib-devel
4、 yum install -y openssl openssl-devel
對于 gcc,因為安裝nginx需要先将官網下載下傳的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境的 話,需要安裝gcc。 對于 pcre,prce(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的 正規表達式庫。nginx的http子產品使用pcre來解析正規表達式,是以需要在linux上安裝pcre庫。 對于 zlib,zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的内容進行gzip,所 以需要在linux上安裝zlib庫。 對于 openssl,OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書 封裝管理功能及SSL協定,并提供豐富的應用程式供測試或其它目的使用。nginx不僅支援http協定,還支援 https(即在ssl協定上傳輸http),是以需要在linux安裝openssl庫。
後面要切換到對應目錄下進行一個初始化安裝
編譯前面準備工作
./configure --prefix=/usr/local/nginx
編譯之後要安裝:
make install 編譯安裝
編譯完成切換目錄
進入這個目錄,
./nginx nginx //啟動
nginx -s stop/qut //停止
發現這個指令啟動nginx時候,有服務啟動
可是不能通過ip進行通路nginx
這個問題後面解決了,這個問題是自己的linux防護牆沒有關閉導緻的問題
systemctl stop firewalld.service 關閉防火牆
systemctl status firewalld.service 關閉防火牆
關閉防護牆後,發現可以通路了。
nginx不能通過ip通路 ,檢視服務程序是起來的話,就要檢視linux防火牆是否關閉
服務沒有起來時候
啟動服務後
第二種安裝nginx方式:直接解壓nginx 壓縮包安裝nginx
直接用指令删除這個nginx
用rz指令上傳nginx壓縮包,進行安裝
用rz上傳,發現壓縮包太大不能傳輸,用傳輸軟體進行傳輸
wget http://nginx.org/download/nginx-1.18.0.tar.gz
用wget 指令下載下傳也可以
出現上面問題
- 檢視伺服器是否安裝wget
rpm -qa|grep 'wget'
沒有顯示說明沒有
沒有指令,使用下面指令安裝
yum install -y wget
後面下載下傳
解壓到目前目錄
tar -zxvf nginx-1.18.0.tar.gz
接着進入到解壓之後的目錄,進行編譯安裝。
./configure --prefix=/usr/local/nginx
要切換到nginx解壓目錄才能使用上面指令
make
make install 這個指令和make一樣的效果 上面用了make就可以不用這個了
切換到安裝的nginx目錄
接着我們進入到 sbin 目錄,通過如下指令啟動 nginx:
檢視nginx服務是否啟動
ps -ef | grep nginx
浏覽器測試一樣的不能通路
找了一遍原因,發現這個問題是自己的linux防護牆沒有關閉導緻的問題
systemctl stop firewalld.service 關閉防火牆
systemctl status firewalld.service 關閉防火牆