linux系統(tǒng)離線安裝nginx全過程
介紹:nginx是一個高性能的http和反向代理服務器,并發(fā)能力很強,一般用來做負載均衡比較多,日常開發(fā)中用作web服務器
一、下載nginx
我們下載這個穩(wěn)定版本
二、環(huán)境依賴檢查
nginx安裝需要很多外部依賴,先登錄到linux服務器
2.1 gcc檢查
gcc -v
出現如下,說明gcc是安裝了的
如果最后一行沒有出現對應gcc版本信息,那就要去手動下載了 ,下面的部分是下載安裝各種依賴
提供個阿里云鏡像地址:centos-7-os-x86_64-Packages安裝包下載_開源鏡像站-阿里云
gcc 清單
cpp-4.8.5-44.el7.x86_64.rpm gcc-4.8.5-44.el7.x86_64.rpm glibc-devel-2.17-317.el7.x86_64.rpm glibc-headers-2.17-317.el7.x86_64.rpm kernel-headers-3.10.0-1160.el7.x86_64.rpm libmpc-1.0.1-3.el7.x86_64.rpm mpfr-3.1.1-4.el7.x86_64.rpm
一個個找到下載,小技巧:可以直接復制名字定位,ctrl+f
把下載好的gcc依賴統(tǒng)一上傳到服務器的某個文件夾下,或者把筆者提供的zip包上傳上去,解壓即可,以下是幾個解壓相關的命令
1.解壓縮zip文件到當前目錄:
unzip file.zip
2.解壓縮zip文件到指定目錄:
unzip file.zip -d /path/to/directory
3. 查看zip文件內容而不解壓縮:
unzip -l file.zip
如果沒有安裝unzip命令,可以通過以下命令在大多數Linux發(fā)行版中安裝(需要連接網絡):
sudo apt install unzip # 對于基于Debian的發(fā)行版(如Ubuntu) sudo yum install unzip # 對于基于RPM的發(fā)行版(如Fedora、CentOS)
不想安裝unzip,那就都單獨上傳到同一個文件夾下即可
然后在這個文件夾下執(zhí)行以下命令
rpm -Uvh *.rpm --nodeps --force
2.2 PCRE檢查
以下是百度百科的介紹:
- PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括perl 兼容的正則表達式庫。
- 這些在執(zhí)行正規(guī)表達式模式匹配時用與Perl 5同樣的語法和語義是很有用的。
- Boost太龐大了,使用boost regex后,程序的編譯速度明顯變慢。
- 測試了一下,同樣一個程序,使用boost::regex編譯時需要3秒,而使用pcre不到1秒。
- 因此改用pcre來解決C語言中使用正則表達式的問題
為什么要這個庫?因為nginx是使用C語言開發(fā)的,為了實現高性能,用到了這個庫
在服務器上執(zhí)行
rpm -qa | grep pcre
可以看到筆者的服務器已經安裝了這個依賴
如果沒有出現這些信息說明沒有安裝,需要自行下載
點進去有個版本介紹
翻譯下:
PCRE庫有兩個主要版本。目前的版本PCRE2于2015年發(fā)布,目前為10.39版本。
較早但仍廣泛部署的PCRE庫最初于1997年發(fā)布,版本為8.45。這一版本的PCRE現在已經壽終正寢,不再積極維護。8.45版本預計將是舊的PCRE庫的最終版本,新項目應該使用PCRE2。
繼續(xù)點擊這個,外網有點慢
有很多版本,這里以最新版舉例
下載下來后上傳到linux服務器某個文件夾下
執(zhí)行解壓命令
tar -xvf pcre2-10.43.tar.gz
cd進入解壓后的目錄下依次執(zhí)行
./configure (后面可加 --prefix=yourpath,安裝到指定路徑,一般不加,就安裝到默認路徑下) make make install
2.3 zlib檢查
百度介紹:
- zlib是一種用于數據壓縮和解壓縮的開源軟件庫。它使用的是壓縮算法為DEFLATE,可以有效地壓縮和解壓縮大部分數據。
- zlib可以被廣泛應用于許多不同的場合,例如軟件安裝包的壓縮、數據庫文件的壓縮、網絡數據傳輸的壓縮等。它的使用方法簡單,支持多種編程語言,且具有較高的壓縮率和解壓率。
- zlib的優(yōu)點是可以有效地壓縮和解壓縮大部分數據,使用方法簡單,支持多種編程語言,并且具有較高的壓縮率和解壓率。缺點是壓縮率不如其他一些算法高,例如bzip2和LZMA。
- zlib是一個輕量級的庫,可以在不同的系統(tǒng)平臺上使用。它的源代碼可以在網絡上免費下載,并且具有較高的可移植性。zlib支持的壓縮格式為DEFLATE,可以有效地壓縮和解壓縮大部分數據。
- zlib提供了一組簡單的函數來實現數據的壓縮和解壓縮。它支持多種編程語言,例如C、C++、Java、Python等,可以方便地在這些語言中使用。zlib提供的函數包括壓縮數據的compress函數和解壓縮數據的uncompress函數。這兩個函數的使用方法非常簡單,只需要提供待壓縮或解壓縮的數據和目標緩沖區(qū)的地址即可。
- zlib還提供了一些高級的函數,可以支持更復雜的壓縮和解壓縮操作。例如,可以使用deflateInit、deflate和deflateEnd函數來進行流式壓縮,可以使用inflateInit、inflate和inflateEnd函數來進行流式解壓縮。
- 總的來說,zlib是一種非常方便的數據壓縮和解壓縮工具,它可以有效地壓縮和解壓縮大部分數據,并且使用方法簡單,支持多種編程語言。
在服務器上執(zhí)行
rpm -qa | grep zlib
筆者所在linux系統(tǒng)已經安裝zlib
沒有如上信息,要下載安裝
zlib是這兩位開發(fā)的,前者寫壓縮算法,后者寫解壓縮算法
往下劃 ,找到這個點擊下載
下載好后上傳到服務器某文件夾下
執(zhí)行解壓命令
tar -zxvf zlib.tar.gz
再cd 到解壓后的zlib目錄順序執(zhí)行
./configure (后面可加 --prefix=yourpath,安裝到指定路徑,一般不加,就安裝到默認路徑下) make make install
2.4 openssl檢查
服務器上輸入
openssl version
很抱歉,筆者的服務器也已經安裝了openssl,你如果沒有出現對應信息,需要自己下載安裝
下載地址:[ Downloads ] - /source/index.html
這里舉例下載的是這個最新版
下載好后,同樣的上傳到服務器某個文件夾下解壓
執(zhí)行命令
tar -zxvf openssl-3.3.0.tar.gz
然后進入解壓目錄依次執(zhí)行如下
./configure (后面可加 --prefix=yourpath,安裝到指定路徑,一般不加,就安裝到默認路下) make make install
三、安裝nginx
以上外部依賴都準備好后,可以安裝nginx了
首先把下載的nginx壓縮包上傳到服務器某文件下,筆者這里上傳到/opt/nginx下
依次執(zhí)行如下命令
cd /opt/nginx tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0/
進入解壓后的文件夾下執(zhí)行如下,這里配置安裝到/usr/local下
./configure (--prefix=/usr/local/nginx,這是指定安裝到某個路徑下,如果不指定,則默認也是安裝到這個路徑下,沒有nginx文件夾會自動創(chuàng)建) make make install
我這里執(zhí)行完第一句報錯了,我重新安裝下PCRE庫(按照上述pcre流程來)
安裝好后再進入nginx的解壓目錄
執(zhí)行這個./configure
make make install
四、啟動nginx
接著啟動nginx
cd /usr/local/nginx/sbin/ ./nginx
nginx的默認啟動端口是80
輸入以下命令查看端口80
sudo lsof -i :80
可以看到80端口被nginx監(jiān)聽了
把80端口的訪問權限打開
-- 開通 80 端口 訪問權限 sudo firewall-cmd --permanent --add-port=80/tcp -- 重載防火墻 sudo firewall-cmd --reload
瀏覽器訪問下:192.168.19.16:80 ,說明nginx啟動成功了
修改端口,比如改成8081(注意先把8081端口的防火墻開啟,命令參考上面)
cd /usr/local/nginx/conf vim nginx.conf
按 i 鍵,把監(jiān)聽端口改成8081
esc 退出,輸入:wq 保存
再執(zhí)行以下命令
cd /usr/local/nginx/sbin/ ./nginx
這時候瀏覽器訪問 192.168.19.16:8081,修改成功了
這里有個問題,之前的端口80,nginx服務我沒有停用,瀏覽器打開192.168.19.16:80,還是可以訪問的
服務器查看80和8081端口,發(fā)現都被nginx監(jiān)聽了
既然修改了端口,那原先的不應該再監(jiān)聽了,殺死80端口對應nginx的pid
kill 22698
發(fā)現80端口不再被nginx監(jiān)聽,釋放出來了,瀏覽器也無法訪問
到這里nginx 已經啟動好了
五、設置開機自啟動
這里采用Systemd方式,把nginx作為系統(tǒng)服務,設置開機自啟動
首先執(zhí)行以下命令
sudo vim /etc/systemd/system/nginx.service
創(chuàng)建一個nginx系統(tǒng)服務文件,按 i 鍵并輸入以下內容,esc鍵退出,:wq保存
注意 /usr/local/nginx要替換成自己的nginx的安裝路徑(不是解壓路徑)
nginx -s quit # 這種方法較stop相比就比較溫和,需要進程完成當前工作后再停止。 nginx -s stop # 立即停止服務 這種方法比較強硬,無論進程是否在工作,都直接停止進程
如果想溫和退出nginx,ExecStop換成如下
ExecStop=/usr/local/nginx/sbin/nginx -s quit
[Unit] Description=The nginx HTTP and reverse proxy server After=network.target [Service] Type=forking ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop [Install] WantedBy=multi-user.target
以上保存退出后依次執(zhí)行以下命令
先把之前啟動的nginx服務進程殺掉
刷新配置
sudo systemctl daemon-reload
允許nginx自啟動
sudo systemctl enable nginx.service
啟動nginx
sudo systemctl start nginx.service
查看開機自啟動的服務列表
systemctl list-units --type=service
查看nginx服務的狀態(tài)
sudo systemctl status nginx.service
瀏覽器輸入 192.168.19.16:8081 是可以訪問的
停止nginx服務
sudo systemctl stop nginx.service
reboot重啟驗證nginx是否開機自啟動
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
windows 10 + vwware+centos 6.5虛擬機系統(tǒng)安裝Tomcat
這篇文章主要介紹了windows 10 + vwware+centos 6.5虛擬機系統(tǒng)安裝Tomcat的相關資料,需要的朋友可以參考下2017-01-01CentOS7服務器環(huán)境下vsftpd安裝及配置方法
這篇文章主要介紹了CentOS7服務器環(huán)境下vsftpd安裝及配置方法,結合實例形式分析了CentOS7服務器環(huán)境下進行vsftpd安裝及配置的步驟與相關問題解決方法,需要的朋友可以參考下2018-03-03在 CentOS 8/RHEL 8 上安裝和使用 Cockpit的方法
Cockpit 是一個基于 Web 的服務器管理工具,可用于 CentOS 和 RHEL 系統(tǒng)。最近發(fā)布的 CentOS 8 和 RHEL 8,其中 cockpit 是默認的服務器管理工具。這篇文章主要介紹了在 CentOS 8/RHEL 8 上安裝和使用 Cockpit的方法,需要的朋友可以參考下2019-10-10