天天看點

centos7 源碼nginx1.16.1安裝

常見錯誤

nginx:[emerg]unknown directive ssl

加上  --with-http_ssl_module 重新編輯安裝

下載下傳

進入官網下載下傳我們需要的版本,複制下載下傳連結,使用wget工具下載下傳

文章目前最新穩定版是1.16.1

wget http://nginx.org/download/nginx-1.16.1.tar.gz
           

解壓

tar -xzf nginx-1.16.1.tar.gz
           

依賴安裝

在你不清楚伺服器有沒有安裝這些依賴的情況下,可以先跳過,報錯再回來,或者直接都安裝一下也沒壞,你喜歡就好

  •  gcc 源碼的編依賴 于gcc 環境
    yum install gcc
               
  • PCRE(Perl Compatible Regular Expressions) Perl庫,包括 perl 相容的正規表達式庫
  • yum install -y pcre pcre-devel
               
  • zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的内容進行 gzip
  • yum install -y zlib zlib-devel
               
  •  OpenSSL是一個開放源代碼的軟體庫包,應用程式可以使用這個包來進行安全通信,避免竊聽,同時确認另一端連接配接者的身份。這個包廣泛被應用在網際網路的網頁伺服器上
  • yum install -y openssl openssl-devel
               

比較懶的可以直接執行這個指令 (~ ̄▽ ̄)~

yum install gcc openssl-devel pcre-devel -y
           

配置

cd nginx-1.16.1
           

檢視你需要配置,建議看看官網的參數說明根據你需要的情景使用配置

./configure  --help  
           

這裡我隻是設定了安裝目錄和ssl,其他均采用了預設 

./configure --prefix=/server/nginx  --with-http_ssl_module
           

出現這個證明已經配置成功

centos7 源碼nginx1.16.1安裝

編譯和安裝

make && make install
           

看到這個界面證明已經安裝成功了 

centos7 源碼nginx1.16.1安裝

測試啟動

cd /server/nginx/sbin    //這個是配置安裝包時候的目錄
./nginx  //啟動
./nginx -s stop  //停止
./nginx -s quit   //退出
./nginx -s reload  //重新開機
           

這教程基于centos7 ,centos7服務管理都是通過systemctl指令的,是以我們需要添加一下對應nginx的service服務

systemctl服務儲存位址   /usr/lib/systemd/system/

執行以下指令建立nginx服務

vim /usr/lib/systemd/system/nginx.service
           

 并錄入一下内容

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/server/nginx/sbin/nginx
ExecReload=/server/nginx/sbin/nginx -s reload
ExecStop=/server/nginx/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target
           

配置說明

[Unit]:服務的說明
Description:描述服務
After:描述服務類别

[Service]服務運作參數的設定
Type=forking是背景運作的形式
ExecStart為服務的具體運作指令
ExecReload為重新開機指令
ExecStop為停止指令
PrivateTmp=True表示給服務配置設定獨立的臨時空間
注意:啟動、重新開機、停止指令全部要求使用絕對路徑

[Install]服務安裝的相關設定,可設定為多使用者
           

要服務生效,我們需要重新加載服務

systemctl daemon-reload
           

 現在我們可以使用systemctl指令來對nginx進行操作了

systemctl start nginx  //啟動
systemctl stop nginx  //停止
systemctl reload nginx  //重新開機 可以不用停止nginx服務,使修改的配置生效
systemctl restart nginx  //重新開機
systemctl enable nginx  //設定開機啟動
systemctl disable nginx  //禁用開機啟動
systemctl status nginx  //檢視服務狀态
           

擷取所有正在運作的服務 

systemctl list-units --type=service
           

最後我們通路試試

啟動後我們可以通路一下看到這個界面就證明安裝成功了

centos7 源碼nginx1.16.1安裝

繼續閱讀