Centos7下安裝nginx原始碼包超詳細教程(小白篇)!

daysomeon發表於2019-01-19

###環境:CentOS Linux release 7.5.1804 (Core) 新系統

0.首先使用wget命令下載nginx的原始碼包,並解壓

[root@localhost ~]# wget http://nginx.org/download/nginx-1.15.5.tar.gz
--2018-11-06 16:59:08--  http://nginx.org/download/nginx-1.15.5.tar.gz
Resolving nginx.org (nginx.org)... 206.251.255.63, 95.211.80.227, 2606:7100:1:69::3f, ...
Connecting to nginx.org (nginx.org)|206.251.255.63|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1024791 (1001K) [application/octet-stream]
Saving to: ‘nginx-1.15.5.tar.gz’

100%[======================================================================================>] 1,024,791    245KB/s   in 4.1s   

2018-11-06 16:59:13 (245 KB/s) - ‘nginx-1.15.5.tar.gz’ saved [1024791/1024791]
[root@localhost ~]# tar -xf nginx-1.15.5.tar.gz
[root@localhost ~]# ls
nginx-1.15.5  nginx-1.15.5.tar.gz
[root@localhost ~]# cd nginx-1.15.5/
[root@localhost nginx-1.15.5]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src

1.為了安全新增nginx使用者和組,以便以後以nginx使用者的身份執行nginx程式,而非root

[root@localhost nginx-1.15.5]# useradd nginx -s /sbin/nologin

2.開始執行configure指令碼,進行編譯前的配置 #configure配置指令碼有很多的引數,這裡就只列出幾個常用的:–prefix:安裝目錄 –user -group. 獲取更多配置使用 ./configure –help命令

[root@localhost nginx-1.15.5]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-stream
checking for OS
+ Linux 3.10.0-862.el7.x86_64 x86_64
checking for C compiler ... not found

./configure: error: C compiler cc is not found

###提示C編譯器未找到。我們安裝gcc編譯器重新嘗試
[root@localhost nginx-1.15.5]# yum -y install gcc
[root@localhost nginx-1.15.5]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-stream
checking for PCRE library in /usr/local/ ... not found
checking for PCRE library in /usr/include/pcre/ ... not found
checking for PCRE library in /usr/pkg/ ... not found
checking for PCRE library in /opt/local/ ... not found

./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.

###此時又提示HTTP重定向模組需要PCRE庫,你可以使用--without-http_rewirte_module命令把這個預設安裝的模組遮蔽掉,或者安裝PCRE庫檔案,或者建立PCRE庫使用--with-pcre選項來指定位置,這裡我們選擇安裝庫檔案
[root@localhost nginx-1.15.5]# yum -y install pcre-devel
[root@localhost nginx-1.15.5]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-stream
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.

###又提示OpenSSL沒有,沒辦法編譯就是這麼麻煩,繼續裝包吧
[root@localhost nginx-1.15.5]# yum -y install openssl-devel
[root@localhost nginx-1.15.5]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-stream

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library

  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"

###此時配置成功,出現了配置資訊

3.進行編譯並複製檔案到相應目錄

[root@localhost nginx-1.15.5]# make && make install
###此時會出現一堆資訊,無視就好,warning和error除外!
[root@localhost ~]# ls /usr/local/nginx/
conf  html  logs  sbin
###nginx安裝完成!!!

4.啟動nginx進行訪問測試

[root@localhost nginx]# ./sbin/nginx
[root@localhost nginx]# netstat -nutlp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      44202/nginx: master
###檢視到nginx程式正在監聽80埠即為成功,下面進行curl訪問測試,web頁面也可以,更直觀
[root@localhost nginx]# curl http://127.0.0.1
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

###看到welcome to nginx!即為成功。

相關文章