源碼編譯安裝 http://nginx.org/en/download.html 到官網下載,然後用XFTP上傳到root目錄 把文件解壓出來 然後用yum安裝依賴項 如果沒裝以上相關的依賴,會在./configure過程中出現各種錯誤 下圖是沒裝gcc包的錯誤,我看網上要裝gcc-c++,但我發現 ...
源碼編譯安裝
http://nginx.org/en/download.html
到官網下載,然後用XFTP上傳到root目錄
把文件解壓出來
tar -zxvf nginx-1.16.0.tar.gz
然後用yum安裝依賴項
yum install gcc pcre-devel zlib-devel
如果沒裝以上相關的依賴,會在./configure過程中出現各種錯誤
下圖是沒裝gcc包的錯誤,我看網上要裝gcc-c++,但我發現我只安裝gcc也沒問題
下圖是沒裝pcre-devel出現的錯誤
下圖是沒裝zlib-devel出現的錯誤
進入nginx-1.16.0目錄後,輸入命令./configure,這個命令會在目錄里生成Makefile文件
./configure
成功後會提示如下圖所示,在目錄也會生成Makefile跟objs目錄
再輸入make命令生成二進位文件,屏幕會出現一堆命令,最後如下圖所示
然後輸入make install,把相關文件拷貝到對應的目錄中,預設是/usr/local/nginx
make make install
你會發現這種安裝方法非常的綠色,好像跟沒安裝一樣,連服務都沒有,那隻能自己動手創建服務了
cd /etc/systemd/system vi nginx.service
將以下內容複製到nginx.service里保存退出,以下內容,我是從官方yum安裝後的service裡面複製修改的
[UNIT]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
然後將nginx設置為開機啟動
systemctl enable nginx
你會發現現在無法啟動nginx,我也搞不懂為什麼,不過我重啟後就正常了。
通過Yum安裝Nginx
這種方式是非常簡單方便,nginx官網上也有介紹
http://nginx.org/en/linux_packages.html#RHEL-CentOS
官方說明就是在/etc/yum.repo.d目錄下麵創建一個nginx的yum源,然後就可以直接用yum install nginx安裝了,超級簡單,這種方式就直接幫你把服務、都安裝好了
cd /etc/yum.repo.d #切換到yum安裝源文件目錄 vi nginx.repo #創建一個安裝包源
把以下內容複製進去,保存退出
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key
然後查看一下是否成功載入了這個安裝源
yum repolist
現在就可以通過yum安裝nginx了
yum install nginx
安裝好後,直接用systemctl啟動nginx服務
systemctl enable nginx #設置nginx為開機啟動
systemctl start nginx #啟動nginx服務
剛裝好,發現啟動失敗了
不過我重啟下伺服器,發現又能正常啟動了。。然後記得把防火牆關了 systemctl stop firewalld,輸入伺服器ip,發現ok了