Linux環境下離線安裝和配置nginx

序言

由於測試環境的nginx是已經搭建完成的,把搭建完成的nginx打包後傳到生產的主機上,在sbin目錄下測試nginx,就會報錯找不到路徑,所以我決定自己重新安裝,於是經過不斷的踩坑和請教,誕生了這篇文章。

一、下載依賴包

nginx:http://nginx.org/en/download.html (版本:nginx-1.16.1 tar.gz)
pcre:https://sourceforge.net/projects/pcre/files/pcre/8.41/(版本:pcre-8.41.tar.gz)
zlib:http://www.zlib.net/(版本:zlib-1.2.11.tar.gz)
oppenssl:https://www.openssl.org/source/(版本:openssl-1.1.1g.tar.gz)

下載說明

我之所以沒有在生產中用yum或wget,是由於用不了,所以只能下載到本地後傳到生產中。

1、下載zlib的位置:
在這裏插入圖片描述
2、下載openssl:
在這裏插入圖片描述

二、解壓

tar -zxvf nginx-1.16.1.tar.gz
tar -zxvf openssl-1.1.1g.tar.gz
tar -zxvf pcre-8.41.tar.gz
tar -zxvf zlib-1.2.11.tar.gz

三、安裝nginx

1、進入解壓後的nginx的目錄

cd  nginx-1.16.1

2、創建安裝目錄

由於我是安裝在普通用戶下的,所以需要創建安裝目錄。
建議:最好是安裝在普通目錄,
因爲:我們這邊的規定是:所有生產的nginx都必需在普通用戶下編譯和啓停。

mkdir installs

3、編譯nginx的安裝目錄

./configure  --prefix=/home/nginxsrv/nginx/nginx-1.16.1/installs  --with-pcre=../pcre-8.41   --with-openssl=../openssl-1.1.1g  --with-zlib=../zlib-1.2.11

4、安裝nginx

make && make install

四、修改配置文件

cp  nginx.conf  nginx.conf.bak.fanhf.202006021600.orig
vim  nginx.conf  

先備份原來的,再將端口號80修改爲8081
修改後的部分配置如下:

    server {
        listen       8081;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

nginx.conf只修改了端口號,其他的不曾做任何修改!

五、查看版本和檢測

1、查看版本

cd /home/nginxsrv/nginx/nginx-1.16.1/installs/sbin
./nginx -V

顯示:

nginx version: nginx/1.16.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 
configure arguments: --prefix=/home/nginxsrv/nginx/nginx-1.16.1/installs --with-pcre=../pcre-8.41 --with-openssl=../openssl-1.1.1g --with-zlib=../zlib-1.2.11

2、檢測

./nginx -t

顯示:

nginx: the configuration file /home/nginxsrv/nginx/nginx-1.16.1/installs/conf/nginx.conf syntax is ok
nginx: configuration file /home/nginxsrv/nginx/nginx-1.16.1/installs/conf/nginx.conf test is successful

六、啓動nginx

cd /home/nginxsrv/nginx/nginx-1.16.1/installs/sbin
./nginx 

查看啓動情況:
在這裏插入圖片描述

七、遇到的坑

1、nginx的版本

我原本在測試環境用的是nginx-1.9.9的版本,而且是沒有問題的,但是同事說還是用1.16.1的版本,比較穩定,所以就改成了1.16.1。

2、下載依賴包

由於下載的prce是最新版本的pcre2-10.33.tar.gz,而不是pcre-8.41.tar.gz,導致在nginx的解壓目錄下執行:make && make install 的時候報錯:

src/core/ngx_regex.h:15:18: fatal error:pcre.h No such file or directory

於是查了一下,參考了這篇文章說是要把pcre的版本降低,於是就是改爲pcre-8.41.tar.gz,解壓後,重新編譯和安裝,就可以了。

3、編譯nginx

在第一次編譯nginx的時候,
編譯指令:

./configure --prefix=/home/nginxsrv/nginx/nginx-1.16.1/installs

報錯如下:

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

查了之後說是少依賴包,於是一步一步查,一步一步下載需要的3個依賴包,然後就想着把這3個依賴包都編譯和安裝,但是反覆嘗試了之後依舊不行,刪了安,安了刪,甚至在root裏面也試了,都無果。於是問一位大神,他說3個依賴包不需要編譯和安裝,直接在編譯nginx的時候指定3個依賴包的路徑就可以,這才安裝成功。

八、補充nginx的相關命令

1、停止nginx

cd /home/nginxsrv/nginx/nginx-1.16.1/installs/sbin
./nginx  -s stop

2、nginx重新加載

cd /home/nginxsrv/nginx/nginx-1.16.1/installs/sbin
./nginx –s reload

至此,nginx的安裝和配置就完成了,關於nginx的配置還有其他的一些內容,我這裏就不贅述了,網上有很多資料,可自行查找和學習。

與君共勉!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章