nginx 的離線編譯安裝

2021-10-08 15:42:36 字數 3467 閱讀 4859

注意:如果使用root使用者安裝和啟動nginx,請把nginx配置檔案第一行的修改為user nobody意思是讓nginx 以nobody使用者執行,nobody是linux乙個不能登入的預設使用者,這樣可以避免一定的安全問題。

本文重點針對異常環境(非root使用者並且不能聯網的伺服器)的安裝方法進行說明。

gcc 編譯環境

相關檔案包

在 gcc 伺服器上編譯

首先確定你目標伺服器的非root使用者名稱,本文的非root使用者名稱以shanhy為例,具體的名字隨意。

1、建立使用者並設定密碼

使用root使用者建立使用者並設定密碼,如果你已經被分配好乙個使用者,則跳過該步

useradd shanhy

passwd shanhy

2、安裝gcc編譯環境

使用root使用者安裝gcc

yum install -y gcc-c++
3、切換到非root使用者進行編譯和後續操作

切換使用者

su - nginx
解壓壓縮包

tar -xzvf nginx-1.18.0.tar.gz

tar -xzvf openssl-1.0.2s.tar.gz

tar -xzvf pcre-8.44.tar.gz

tar -xzvf zlib-1.2.11.tar.gz

配置

--with-http_stub_status_module

其中--prefix設定你 nginx 最終需要安裝到的目錄,這個目錄一定要和你最後需要拷貝到的目標伺服器上計畫放置的目錄一致,因為編譯後這種配置是預設打入二進位制檔案中的不便修改。--user--group使用你的非root使用者名稱和其所在的使用者組名稱,下面是檢視使用者所在使用者組的方法(示例):

[shanhy@cib-server1 sbin]$ cat /etc/passwd | grep shanhy

shanhy:x:1002:1003::/home/shanhy:/bin/bash

[shanhy@cib-server1 sbin]$ cat /etc/group | grep 1003

shanhy:x:1003:

編譯

make && make install
安裝

make install
安裝後--prefix指定的目錄中會出現包括但不限於conf|html|sbin|logs幾個目錄。

非root使用者執行nginx不能監聽1024以下的埠號,因為我們的nginx需要使用 80和443 埠,所以需要使用root使用者授權。當然如果你nginx使用大端**可以跳過這步。

su - root

cd /home/shanhy/nginx/sbin

chown root:root nginx

chmod 755 nginx

chmod u+s nginx

使用非root使用者,進入目錄並啟動服務

su - shanhy

cd /home/shanhy/nginx

./sbin/nginx

開啟瀏覽器訪問http://正常應該可以看到 nginx 的預設頁。

常用管理命令:

檢視版本:nginx –v

停止服務:nginx -s stop或者是通過 kill nginx 程序號

測試配置:nginx -t

重新整理配置:nginx -s reload

至此,服務安裝結束。

nginx 的預設的主配置檔案為conf/nginx.conf,我們一般建立乙個conf.d資料夾這樣的方式來區分主配置檔案和子配置檔案,conf.d中存放多個子配置檔案:

使用如下配置檔案替換預設配置檔案:

#user  nobody;

worker_processes 1;

error_log logs/error.log warn;

pid logs/nginx.pid;

events

http

注意:如果你的nginx使用的是root使用者安裝和啟動的,配置檔案的第一行user nobody請去掉前面的#注釋,這個在上文中已做說明。

然後建立目錄conf/conf.d,將如下檔案default.conf放入其中

server 

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#error_page 500 502 503 504 /50x.html;

location = /50x.html

}

配置檔案如果有變動修改,修改後先使用sbin/nginx -t測試語法然後再sbin/nginx -s reload重新整理配置即可。

(end)

Nginx離線安裝

nginx版本為1.16.0,作業系統為centos 7.4 x64。nginx官方 說明 安裝依賴包 大概需要安裝這些依賴包 rpm ivh libmpc 1.0.1 3.el7.x86 64.rpm rpm ivh cpp 4.8.5 16.el7.x86 64.rpm rpm ivh kern...

nginx離線安裝

因為工作網路的特殊性,伺服器是不連網際網路的,所以整個安裝過程都是採用離線包安裝的方式來安裝。nginx安裝 一般我們都需要先裝pcre,zlib,前者用於url rewrite,後者用於gzip壓縮,openssl用於後續可能公升級到https時使用。正式開始前需要確認gcc g 開發庫已經預先安...

nginx離線安裝

openssl安裝 root localhost src tar zxvf openssl fips 2.0.16.tar.gz 省略安裝內容 root localhost src cd openssl fips 2.0.16 root localhost openssl fips 2.0.16 c...