有一個月沒寫博客了,是該記錄一些東西了,之前一直使用的是Ubuntu系統,然后就想換個系統繼續折騰下。就換成CentOS7的最小化安裝。
目錄:
- Nginx安裝包 下載地址:http://nginx.org/en/download.html
- OpenSSL SSL協議加密解密的工具包 下載地址:https://www.openssl.org/
- PCRE 由c語言編寫的正則表達式庫 下載地址:http://www.pcre.org/
- zlib數據壓縮庫 下載地址:http://www.zlib.net/
下載完成之后,全部扔到linux中去吧,如果上傳文件的過程中出現Access Denied(拒絕訪問),看看文件的權限是不是只讀的。下面是我的文件目錄

注:1. 開始安裝前,先說明下如果以下安裝的過程中出現了:error: You need a C++ compiler for C++ support.說明你的系統中沒有安裝c++的編譯環境, 使用命令: yum install gcc-c++ 安裝即可。(由於系統是新安裝的基本啥都沒有,后面安裝過程出現了此問題)
2. 在執行以下操作時候,最好切換到root權限,避免有時候需要在命令前 重復添加 sudo。 例如 sudo make install
1.先使用命令 tar -zxvf fileName (文件名稱)。逐一的解壓每個文件,如下圖

2.安裝OpenSSL
cd到OpenSSL目錄內,執行以下命令
-
- ./config 生成Makefile文件(這里的是config文件不是Configure)
- make 讀取Makefile中指令編譯
- make install 安裝到系統中(需要root權限)
3.安裝PCRE 和zlib
PCRE 和zlib安裝的方式一樣,只是和OpenSSL的文件config名稱不一樣而已
-
- ./configure
- make
- make install
安裝完上面的三個依賴包,下面安裝我們的正主Nginx
安裝Nginx過程和上面的基本相同,只是在執行configure文件的時候需要設置一些參數
1 ./configure 2 --prefix=/opt/nginx 3 --with-pcre=/home/mgame/soft/pcre-8.41 4 --with-openssl=/home/mgame/soft/openssl-1.1.0f 5 --with-zlib=/home/mgame/soft/zlib-1.2.11
下面是以上配置的意思,如果需要更多信息,可以翻閱官方文檔:http://nginx.org/en/docs/configure.html
1 --prefix=/opt/nginx Nginx安裝目錄(默認/usr/local/nginx) 2 --with-pcre=/home/mgame/soft/pcre-8.41 PCRE解壓目錄
3 --with-openssl=/home/mgame/soft/openssl-1.1.0f OpenSSL解壓目錄 4 --with-zlib=/home/mgame/soft/zlib-1.2.11 zlib解壓目錄
注意了,以上的都是解壓后的文件夾目錄,不是安裝后的目錄。 當執行完成上的命令,執行下面的命令
編譯: make
安裝: make install
至此Nginx和依賴包都安裝完成,下面試試能否成功啟動Nginx
注:如果出現Access Denied(拒絕訪問),請使用root權限安裝
1.啟動Nginx
先移動到Nginx安裝目錄內的sbin文件夾下

在運行Nginx的時候如果沒有root權限會出現以下錯誤

看到后面括號內的提示沒有 (Permission denied) ,拒絕訪問,沒有權限,運行的時候在命令前面加 sudo ./nginx 或者使用root權限
當執行 sudo ./nginx 命令后,並沒有提示成功,可以使用 ps -aux | grep nginx 命令,看看是否啟動Nginx了,如果出現如下圖所示的樣子時候說明已經成功了

然后,打開瀏覽器輸入linux的地址,出現如果所示的樣子,那么nginx已經可以完成安裝了

2.無法訪問的問題
(1) 關閉SELinux安全子系統
命令 vim /etc/selinux/config 編輯config文件,將SELINUX=enforcing的值設置為disabled(重啟生效),如下

(2)設置防火牆開啟80端口(Nginx監聽的是80端口)
先使用命令 sudo firewall-cmd --list-all 查看當前防火牆狀態

此處看到沒有打開80端口,那么使用命令打開80端口,並重啟防火牆
1 sudo firewall-cmd --add-port=80/tcp --permanent 打開80端口 2 sudo firewall-cmd --reload 重啟防火牆
現在可看看是否開啟80端口了

如果出現以上的信息,那么nginx基本上可以訪問了。以上學習筆記到此為止,如果能幫到大家,不勝榮幸!文章有諸多不足的地方,歡迎多多指正。謝謝!
在程序員的路上一直在行走,雖然緩慢,但未曾停下。
