1. 程式人生 > >centos7 安裝nginx

centos7 安裝nginx

原始碼包放在/ usr / local / src /目錄下,編譯安裝在/ usr / local /目錄下

#更新百勝源,安裝了wget的

yum -y update 
yum -y install wget

 lnmp和lamp的依賴,大抵都是這些

yum -y install autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gd gd2 gd-devel gd2-devel perl-CPAN pcre-devel net-snmp net-snmp-devel

yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel pcre pcre-devel libmcrypt libmcrypt-devel cmake

yum install -y gcc gcc-c++ glibc glibc-devel gd gd-devel zlib zlib-devel libtool-ltdl-devel flex autoconf automake

# 建立使用者組lnmp,建立使用者lnmp所屬組 lnmp設定不能登入

groupadd lnmp && useradd -g lnmp lnmp -s /bin/nologin

#建立安裝目錄

mkdir /usr/local/nginx

# 下載nginx原始碼,解壓

cd /usr/local/src
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0

# 編譯設定

./configure --user=lnmp --group=lnmp --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module 

# 編譯 && 安裝

make && make install

 # 檢查配置檔案nginx.conf的正確性

/usr/local/nginx/sbin/nginx -t

# 啟動nginx

/usr/local/nginx/sbin/nginx

 # 檢視nginx的版本

/usr/local/nginx/sbin/nginx -v

# 檢視nginx的編譯引數

/usr/local/nginx/sbin/nginx -V

# 檢視nginx的程序及埠

ps -ef |grep nginx

# nginx 常用命令

/usr/local/nginx/sbin/nginx -s reload            // 重新載入配置檔案
/usr/local/nginx/sbin/nginx -s reopen            // 重啟 Nginx
/usr/local/nginx/sbin/nginx -s stop             // 停止 Nginx

========================= 解釋引數 =========================

 ####  nginx 依賴源 : gcc、PCRE、pcre-devel、zlic、openSSL

# gcc :  將下載的原始碼進行編譯,需要依賴gcc環境

yum -y install gcc-c++ 

# PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 相容的正則表示式庫。nginx 的 http 模組使用pcre 來解析正則表示式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。

yum -y install pcre pcre-devel

#  zlib庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。

yum -y install zlib zlib-devel

 # OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。nginx不僅支援http協議,還支援https(即在ssl協議上傳輸http),所以需要在Centos安裝OpenSSL庫。

yum install -y openssl openssl-devel

###  編譯設定引數

nginx編譯的configure選項:       configure命令是用來檢測你的安裝平臺的目標特徵的。它定義了系統的各個方面,包括nginx的被允許使用的連線處理的方法,比如它會檢測你是不是有CC或GCC,並不是需要CC或GCC,它是個shell指令碼,執行結束時,它會建立一個Makefile檔案。

nginx的configure命令支援以下引數:

--prefix=path 定義一個目錄,存放伺服器上的檔案 ,也就是nginx的安裝目錄。預設使用 /usr/local/nginx。
--sbin-path=path 設定nginx的可執行檔案的路徑,預設為user/sbin/nginx.
--conf-path=path 設定在nginx.conf配置檔案的路徑。nginx允許使用不同的配置檔案啟動,通過命令列中的-c選項。預設為prefix/conf/nginx.conf.
--pid-path=path 設定nginx.pid檔案,將儲存的主程序的程序號。安裝完成後,可以隨時改變的檔名,在nginx.conf配置檔案中使用PID指令。預設情況下,檔名為prefix/logs/nginx.pid。
--error-log-path=path 設定主錯誤,警告,和診斷檔案的名稱。安裝完成後,可以隨時改變的檔名,在nginx.conf配置檔案中 使用的error_log指令。預設情況下,檔名為prefix/logs/error.log。
--http-log-path=path 設定主請求的HTTP伺服器的日誌檔案的名稱。安裝完成後,可以隨時改變的文
件名,在nginx.conf配置檔案中使用 的access_log指令。預設情況下,檔名為prefix/logs/access.log。
--user=name 設定nginx工作程序的使用者。安裝完成後,可以隨時更改的名稱在nginx.conf配置檔案中 使用的user指令。預設的使用者名稱是nobody。
--group=name 設定nginx工作程序的使用者組。安裝完成後,可以隨時更改的名稱在nginx.conf配置檔案中使用的user指令。預設的為非特權使用者。
--with-select_module --without-select_module 啟用或禁用構建一個模組來允許伺服器使用select()方法。該模組將自動建立,如果平臺不支援的kqueue,epoll,rtsig或/dev/poll。
--with-poll_module --without-poll_module 啟用或禁用構建一個模組來允許伺服器使用poll()方法。該模組將自動建立,如果平臺不支援的kqueue,epoll,rtsig或/dev/poll。
--without-http_gzip_module 不編譯壓縮的HTTP伺服器的響應模組。編譯並執行此模組需要zlib庫。
--without-http_rewrite_module 不編譯重寫模組。編譯並執行此模組需要PCRE庫支援。
--without-http_proxy_module 不編譯http_proxy模組。
--with-http_ssl_module 使用https協議模組。預設情況下,該模組沒有被構建。建立並執行此模組的OpenSSL庫是必需的。
--with-pcre=path 設定PCRE庫的原始碼路徑。PCRE庫的原始碼(版本4.4 - 8.30)需要從PCRE網站下載並解壓。其餘的工作是Nginx的./ configure和make來完成。正則表示式使用在location指令和ngx_http_rewrite_module 模組中。
--with-pcre-jit 編譯PCRE包含“just-in-timecompilation”(1.1.12中, pcre_jit指令)。
--with-zlib=path 設定的zlib庫的原始碼路徑。要下載從zlib(版本1.1.3 - 1.2.5)的並解壓。其餘的工作是Nginx的./configure和make完成。ngx_http_gzip_module模組需要使用zlib 。
--with-cc-opt=parameters 設定額外的引數將被新增到CFLAGS變數。例如,當你在FreeBSD上使用PCRE庫時需要使用:--with-cc-opt="-I/usr/local/include。.如需要需要增加 select()支援的檔案數量:
--with-cc-opt="-DFD_SETSIZE=2048"。
--with-ld-opt=parameters 設定附加的引數,將用於在連結期間。例如,當在FreeBSD下使用該系統的PCRE庫,應指定:--with-ld-opt="-L/usr/local/lib"。