nginx版本 :nginx-1.18.0
操作實施環境 : ubuntu 16.04.6 lts
suse linux enterprise server 12 sp4 (x86_64)
注:因為是原始碼安裝,作業系統事先安裝好gcc編譯環境和所需的庫,如果可以聯網可執行下面命令安裝
apt-get install build-essential libtool gcc automake autoconf make
此次nginx的上傳目錄為 /opt/
1.解壓nginx-1.18.0.tar.gz
tar zxvf nginx-1.18.0.tar.gz
2. 進入到剛解壓的目錄
linux:/opt # cd nginx-1.18.0/
linux:/opt/nginx-1.18.0 # pwd
/opt/nginx-1.18.0
linux:/opt/nginx-1.18.0 # ls
auto changes changes.ru conf configure contrib html license makefile man objs readme src
3.編譯
./configure --prefix=/usr/local/nginx
make
make install
4.nginx 服務註冊
groupadd nginx //新增使用者組
useradd nginx -g nginx -s /sbin/nologin //新增nginx啟動使用者
增加 /etc/systemd/system/nginx.service檔案,檔案內容如下
[unit]
description=nginx - high performance web server
after=network.target remote-fs.target nss-lookup.target
[service]
type=forking
pidfile=/usr/local/nginx/logs/nginx.pid
execstartpre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
execstart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
execreload=/usr/local/nginx/sbin/nginx -s reload
execstop=/usr/local/nginx/sbin/nginx -s stop
privatetmp=true
user=nginx
group=nginx
[install]
wantedby=multi-user.target
5.nginx服務埠更改
nginx預設埠為80,只用root使用者才能使用1024以下埠,現在nginx啟動使用者為nginx,所以需要更改埠值大於1024
vi /usr/local/nginx/conf/nginx.conf
6.nginx目錄所屬使用者更改
chown -r nginx:nginx /usr/local/nginx
7.啟動服務
systemctl start nginx
用瀏覽器訪問 http://ip:埠 ,例如我的ip是192.168.101.126 埠值為 8054 則為如果出現以下頁面則安裝成功
1.執行./configure --prefix=/usr/lcoal/nginx 後出現下圖錯誤
是因為nginx依賴 pcre,此時需要安裝pcre
tar -zxvf pcre-8.40.tar.gz
cd pcre-8.40.tar.gz
./configure
make && make install
2.服務啟動失敗
開啟系統日誌檢視具體出錯資訊
tail -n 500 /var/log/message 或者 /var/log/syslog 不同作業系統 系統日誌檔案略有差異
從錯誤資訊看出是缺少libpcre.so.0 ,執行以下命令檢視它到底是從什麼位置查詢libpcre.so.0
linux:/usr/local # ldd $(which /usr/local/nginx/sbin/nginx)
linux-vdso.so.1 (0x00007ffd61bf9000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f64d1b21000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f64d1904000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f64d16c9000)
libpcre.so.0 => not found
libz.so.1 => /lib64/libz.so.1 (0x00007f64d14b2000)
libc.so.6 => /lib64/libc.so.6 (0x00007f64d110d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f64d1d25000)
從輸出資訊中可以看出它是從 /lib64/ 目錄下查詢檔案,此時我們就需要在系統中找到libpcre.so.0的實際位置並做乙個軟體到/lib64/目錄,libpcre.so.0的位置一般為 /usr/lcoal/lib/libpcre.so.0
ln -s /usr/local/lib/libpcre.so.0 /lib64/libpcre.so.0
Nginx原始碼安裝 Linux
wget2.解壓安裝包 tar xvf nginx 1.14.2.tar.gz3.編譯 cd nginx 1.14.2 configure prefix usr local nginx user www group www with http stub status module with http...
linux下 原始碼安裝nginx
inux系統為centos 64位 第二步 解壓 tar zxvf nginx 1.5.9.tar.gz mv到 usr local nginx目錄下 第三步 設定一下配置資訊 configure prefix usr local nginx 或者不執行此步,直接預設配置 第四步 make 編譯 m...
linux下Nginx原始碼安裝
cd nignx wget 2 原始碼解壓到 usr src目錄 tar xzvf nginx 1.14.2.tar.gz 3 安裝依賴 yum y install gcc pcre pcre devel perl extutils embed zlib zlib devel openssl ope...