linux安装nginx源码,CentOS7源码编译安装Nginx
一、安裝步驟
1、下載 nginx 源碼包 官網$?wget?http://nginx.org/download/nginx-1.16.0.tar.gz
2、解壓 nginx 壓縮包$?tar?-zxvf?nginx-1.16.0.tar.gz
3、創建 www 用戶 (已存在可以跳過)$?groupadd?www
$?useradd?-g?www?-s?/sbin/nologin?-M?www
4、運行 configure 文件檢測程序$?cd?nginx-1.16.0
$?./configure?--prefix=/usr/local/nginx?--user=www?--group=www
checking?for?OS
+?Linux?3.10.0-957.12.2.el7.x86_64?x86_64
checking?for?C?compiler?...?not?found
./configure:?error:?C?compiler?cc?is?not?found
#?此處是因為沒有?gcc?和?gcc-c++?依賴包,由于我是?centos?可以直接通過yum進行安裝
$?yum?-y?install?gcc?gcc-c++
...?此處省略安裝步奏
#?再次執行上面的?configure?步驟
$?./configure?--prefix=/usr/local/nginx?--user=www?--group=www
...?此處省略一部分
./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=?option.
#?這次根據提示是因為沒有?PCRE?庫?,執行?yum?安裝?pcre-devel即可
$?yum?-y?install?pcre-devel
...?此處省略一部分
Running?transaction
正在安裝????:?pcre-devel-8.32-17.el7.x86_64???????????????????????????????1/1
驗證中??????:?pcre-devel-8.32-17.el7.x86_64???????????????????????????????1/1
已安裝:
pcre-devel.x86_64?0:8.32-17.el7
完畢!
#?再次執行?configure?步驟
$?./configure?--prefix=/usr/local/nginx?--user=www?--group=www
...?此處省略一部分
./configure:?error:?the?HTTP?gzip?module?requires?the?zlib?library.
You?can?either?disable?the?module?by?using?--without-http_gzip_module
option,?or?install?the?zlib?library?into?the?system,?or?build?the?zlib?library
statically?from?the?source?with?nginx?by?using?--with-zlib=?option.
#?這此根據提示是因為沒有?zlib?庫?,執行?yum?安裝?zlib?和?zlib-devel?即可
$?yum?-y?install?zlib?zlib-devel
...?此處省略一部分
Running?transaction
正在安裝????:?zlib-devel-1.2.7-18.el7.x86_64??????????????????????????1/1
驗證中??????:?zlib-devel-1.2.7-18.el7.x86_64??????????????????????????????1/1
已安裝:
zlib-devel.x86_64?0:1.2.7-18.el7
完畢!
#?再次執行?configure?步驟
$?./configure?--prefix=/usr/local/nginx?--user=www?--group=www
...?此處省略一部分
Configuration?summary
+?using?system?PCRE?library
+?OpenSSL?library?is?not?used
+?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"
#?總算通過了下面進行編譯和安裝
$?make?&&?make?install
#?檢測是否安裝成功
$?/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
#?辛苦總算沒有白費,成功了.
5、啟動 nginx 服務$?/usr/local/nginx/sbin/nginx
#?啟動了一個nginx服務,然我測試下是否啟動成功
$?lsof?-i:80
COMMAND???PID???USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAME
nginx???17440???root????6u??IPv4??35217??????0t0??TCP?*:http?(LISTEN)
nginx???17441?nobody????6u??IPv4??35217??????0t0??TCP?*:http?(LISTEN)
#?完成。
#?PS:如果?lsof?沒有這個操作可以使用?yum?-y?install?lsof?安裝
6、配置防火墻80端口$?firewall-cmd?--zone=public?--add-port=80/tcp?--permanent
$?systemctl?restart?firewalld
二、安裝總結#?下載、解壓?源碼包
$?wget?http://nginx.org/download/nginx-1.16.0.tar.gz
$?tar?-zxvf?nginx-1.16.0.tar.gz
#?創建?www?用戶?(已存在可以跳過)
$?groupadd?www
$?useradd?-g?www?-s?/sbin/nologin?-M?www
#?安裝?前置服務
$?yum?-y?install?gcc?gcc-c++?pcre-devel?zlib?zlib-devel
#?檢測安裝環境
$?./configure?--prefix=/usr/local/nginx?--user=www?--group=www
#?編譯?和?安裝
$?make?&&?make?install
#?啟動服務
$?/usr/local/nginx/sbin/nginx
#?打開防火墻
$?firewall-cmd?--zone=public?--add-port=80/tcp?--permanent
$?systemctl?restart?firewalld
三、操作命令#?停止
[1]
$?pkill?-9?nginx
[2]
$?nginx?-s?stop
#?檢查配置是否正確
$?nginx?-t
#?重啟
$?nginx?-s?reload
四、配置開機自啟
由于我是 CentOS 7 ,我打算用 systemctl 作為我的管理工具,下面是我的操作步驟。
還有一個原因是因為我配置 nginx 啟動腳本總是報錯,我懶得去弄官網給的那個腳本了。$?vim?/lib/systemd/system/nginx.service
#?輸入以下代碼,并且保存
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx?reload
ExecStop=/usr/local/nginx/sbin/nginx?quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
$?systemctl?start?nginx.service
Failed?to?execute?operation:?Access?denied
#?這里報了一個錯誤,提示我沒有權限
$?setenforce?0?#?臨時關閉?selinux?,如果想長久關閉請自行搜索
$?systemctl?start?nginx
#?沒有報錯,測試一下
$?lsof?-i:80
COMMAND??PID?USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAME
nginx???1398?root????6u??IPv4??19609??????0t0??TCP?*:http?(LISTEN)
nginx???1399??www????6u??IPv4??19609??????0t0??TCP?*:http?(LISTEN)
#?成功,設置為開機自動啟動
$?systemctl?enable?nginx.service
本文來自投稿,不代表訪得立場,如若轉載,請注明出處:http://www.found5.com//view/1073.html
總結
以上是生活随笔為你收集整理的linux安装nginx源码,CentOS7源码编译安装Nginx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux日志查看面试题,Linux
- 下一篇: arm linux 64位,微软准备让L