CentOS 7.4下安裝nginx的詳細步驟

迷倪小魏發表於2018-05-17


nginx官網介紹配置安裝:http://nginx.org/en/docs/configure.html

 

一、安裝nginx依賴的軟體

nginx是C寫的,需要用GCC編譯;nginx中的rewrite module需要PCRE;nginx中的gzip module需要zlib;nginx中的HTTP SSL module需要OpenSSL。

 

已安裝的GCC版本資訊如下:

 [root@VM_2_13_centos ~]# gcc -v

Using built-in specs.

COLLECT_GCC=gcc

COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper

Target: x86_64-redhat-linux

Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux

Thread model: posix

gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)

 

1、zlib原始碼安裝:

zlib下載官網:http://www.zlib.net/

 

下載zlib最新版本1.2.11原始碼:

 [root@VM_2_13_centos stalker]# wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.gz  

 

解壓並進入zlib程式碼根目錄:

[root@VM_2_13_centos stalker]# tar zxvf zlib-1.2.11.tar.gz  

[root@VM_2_13_centos stalker]# cd zlib-1.2.11  

 

配置、編譯、安裝:

[root@VM_2_13_centos zlib-1.2.11]# ./configure  

[root@VM_2_13_centos zlib-1.2.11]# make  

[root@VM_2_13_centos zlib-1.2.11]# make install  

rm -f /usr/local/lib/libz.a  

cp libz.a /usr/local/lib  

chmod 644 /usr/local/lib/libz.a  

cp libz.so.1.2.11 /usr/local/lib  

chmod 755 /usr/local/lib/libz.so.1.2.11  

rm -f /usr/local/share/man/man3/zlib.3  

cp zlib.3 /usr/local/share/man/man3  

chmod 644 /usr/local/share/man/man3/zlib.3  

rm -f /usr/local/lib/pkgconfig/zlib.pc  

cp zlib.pc /usr/local/lib/pkgconfig  

chmod 644 /usr/local/lib/pkgconfig/zlib.pc  

rm -f /usr/local/include/zlib.h /usr/local/include/zconf.h  

cp zlib.h zconf.h /usr/local/include  

chmod 644 /usr/local/include/zlib.h /usr/local/include/zconf.h  


[root@VM_2_13_centos zlib-1.2.11]# whereis zlib  

zlib: /usr/include/zlib.h /usr/share/man/man3/zlib.3.gz  


2、PCRE原始碼安裝:

PCRE官網:http://www.pcre.org/

 

下載PCRE最新版本8.41原始碼:

 [root@VM_2_13_centos stalker]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz  

 

解壓並進入PCRE程式碼根目錄:

[root@VM_2_13_centos stalker]# tar zxvf pcre-8.41.tar.gz  

[root@VM_2_13_centos stalker]# cd pcre-8.41  

 

配置、編譯、安裝:

[root@VM_2_13_centos pcre-8.41]# ./configure  

[root@VM_2_13_centos pcre-8.41]# make  

[root@VM_2_13_centos pcre-8.41]# make install  

 

檢視版本:

[root@VM_2_13_centos pcre-8.41]# pcre-config --version  

8.41  

 

說明安裝成功。

 

3、OpenSSL原始碼安裝:

OpenSSL官網:https://www.openssl.org/

 

下載OpenSSL版本1.0.2n原始碼:

[root@VM_2_13_centos stalker]# wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz  

 

解壓並進入openssl程式碼根目錄:

[root@VM_2_13_centos stalker]# tar zxvf openssl-1.0.2n.tar.gz  

[root@VM_2_13_centos stalker]# cd openssl-1.0.2n  

 

配置、編譯、安裝:

[root@VM_2_13_centos openssl-1.0.2n]# ./config  

[root@VM_2_13_centos openssl-1.0.2n]# make  

[root@VM_2_13_centos openssl-1.0.2n]# make install  



二、原始碼安裝nginx

下載nginx最新穩定版本1.12.2原始碼:

[root@VM_2_13_centos stalker]# wget wget http://nginx.org/download/nginx-1.12.2.tar.gz  


解壓並進入
nginx程式碼根目錄:

[root@VM_2_13_centos stalker]# tar zxvf nginx-1.12.2.tar.gz  

[root@VM_2_13_centos stalker]# cd nginx-1.12.2  

 

配置:

[root@VM_2_13_centos nginx-1.12.2]# ./configure --with-http_ssl_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11  

 

./configure之後的正確資訊如下:

 

Configuration summary  

  + using PCRE library: ../pcre-8.41  

  + using system OpenSSL library  

  + using zlib library: ../zlib-1.2.11  

  

  nginx path prefix: "/usr/local/nginx"  

  nginx binary file: "/usr/local/nginx/sbin/nginx"  

  nginx modules path: "/usr/local/nginx/modules"  

  nginx configuration prefix: "/usr/local/nginx/conf"  

  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"  

  nginx pid file: "/usr/local/nginx/logs/nginx.pid"  

  nginx error log file: "/usr/local/nginx/logs/error.log"  

  nginx http access log file: "/usr/local/nginx/logs/access.log"  

  nginx http client request body temporary files: "client_body_temp"  

  nginx http proxy temporary files: "proxy_temp"  

  nginx http fastcgi temporary files: "fastcgi_temp"  

  nginx http uwsgi temporary files: "uwsgi_temp"  

  nginx http scgi temporary files: "scgi_temp"  

 

如果./configure提示OpenSSL找不到:

 

checking for OpenSSL library ... not found  

checking for OpenSSL library in /usr/local/ ... not found  

checking for OpenSSL library in /usr/pkg/ ... not found  

checking for OpenSSL library in /opt/local/ ... not found  

  

./configure: error: SSL modules require the OpenSSL library.  

You can either do not enable the modules, or install the OpenSSL library  

into the system, or build the OpenSSL library statically from the source  

with nginx by using --with-openssl=<path> option.  

 

按照提示說明,--with-openssl=<source path>即可。

[root@VM_2_13_centos nginx-1.12.2]# ./configure --with-http_ssl_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2n  

 

這樣就配置正確,資訊如下:

 

Configuration summary  

  + using PCRE library: ../pcre-8.41  

  + using OpenSSL library: ../openssl-1.0.2n  

  + using zlib library: ../zlib-1.2.11  

  

  nginx path prefix: "/usr/local/nginx"  

  nginx binary file: "/usr/local/nginx/sbin/nginx"  

  nginx modules path: "/usr/local/nginx/modules"  

  nginx configuration prefix: "/usr/local/nginx/conf"  

  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"  

  nginx pid file: "/usr/local/nginx/logs/nginx.pid"  

  nginx error log file: "/usr/local/nginx/logs/error.log"  

  nginx http access log file: "/usr/local/nginx/logs/access.log"  

  nginx http client request body temporary files: "client_body_temp"  

  nginx http proxy temporary files: "proxy_temp"  

  nginx http fastcgi temporary files: "fastcgi_temp"  

  nginx http uwsgi temporary files: "uwsgi_temp"  

  nginx http scgi temporary files: "scgi_temp"  

 

編譯安裝:

[root@VM_2_13_centos nginx-1.12.2]# make  

[root@VM_2_13_centos nginx-1.12.2]# make install  

 

檢查nginx.conf配置正確性:

[root@VM_2_13_centos ~]# /usr/local/nginx/sbin/nginx -t  

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok  

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful  


啟動nginx:

[root@VM_2_13_centos ~]# /usr/local/nginx/sbin/nginx  

 

在瀏覽器中輸入主機IP地址看到如下的頁面說明nginx安裝成功

 

nginx加入到開機自動啟動


先編輯系統啟動指令碼
vim /etc/rc.local 這個檔案是系統啟動後會自動執行的,我們就將啟動命令加入到這個檔案中

 [root@VM_2_13_centos ~]# vim /etc/rc.local

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf & >/tmp/nginx.log 2>&1

 

檢視nginx的程式

[root@VM_2_13_centos ~]# ps -ef | grep nginx

root     16976 16360  0 18:03 pts/2    00:00:00 grep --color=auto nginx

root     25192     1  0 13:25 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx

nobody   25769 25192  0 13:37 ?        00:00:00 nginx: worker process

 

修改全域性的環境變數

[root@VM_2_13_centos ~]# vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/nginx/sbin

 

Nginx的預設安裝位置

/usr/local/nginx

/usr/local/nginx/conf/nginx.conf     //nginx的配置檔案

/usr/local/nginx/html                //預設的網頁檔案

 

 

相關連線:

CentOS 7.4 搭建LNMP(Linux+Nginx+MySQL+PHP):

https://blog.csdn.net/u014558668/article/details/79314878

 

CentOS 7.4 使用yum源安裝PHP 5.4.16

https://blog.csdn.net/u014558668/article/details/79315641

 

CentOS 7下安裝mongodb和php擴充套件mongodb:

https://blog.csdn.net/username11211/article/details/52945488

 

CentOS 7下安裝php-redis擴充套件及簡單使用:

https://blog.csdn.net/baidu_30000217/article/details/51481138

 


作者:SEian.G(苦練七十二變,笑對八十一難)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31015730/viewspace-2154641/,如需轉載,請註明出處,否則將追究法律責任。

相關文章