###環境:CentOS Linux release 7.5.1804 (Core) 新系統html
0.首先使用wget命令下載nginx的源碼包,並解壓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程序,而非rootweb
[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.進行編譯並複製文件到相應目錄app
[root@localhost nginx-1.15.5]# make && make install ###此時會出現一堆信息,無視就好,warning和error除外! [root@localhost ~]# ls /usr/local/nginx/ conf html logs sbin ###nginx安裝完成!!!
4.啓動nginx進行訪問測試curl
[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!即爲成功。