我用的linux系統(tǒng)是 centos7.1。
如果linux系統(tǒng)沒(méi)有預(yù)先安裝 gcc 等編譯軟件可以用yum源安裝。安裝nginx,首先需要安裝依賴(lài)模塊pcre、zlib、openssl。
gzip 模塊需要 zlib 庫(kù)
rewrite 模塊需要 pcre 庫(kù)
ssl 功能需要 openssl庫(kù)
1.安裝pcre依賴(lài)
- 下載 pcre-8.38 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
- 解壓 tar -zxvf pcre-8.38.tar.gz
- 進(jìn)入到解壓目錄 cd 你的目錄/pcre-8.38
- 編譯 ./configure --prefix=/opt/project/pcre #指定安裝目錄
- 編譯完成之后安裝 make && make install
2.安裝zlib依賴(lài)
- 下載 zlib-1.2.11 wget http://zlib.net/zlib-1.2.11.tar.gz
- 解壓 tar -zxvf zlib-1.2.11.tar.gz
- 進(jìn)入到解壓目錄 cd 你的目錄/zlib-1.2.11
- 編譯 ./configure --prefix=/opt/project/zlib #指定安裝目錄
- 編譯完成之后安裝 make && make install
3.安裝openSSL依賴(lài)
- 下載 openssl-1.1.1-pre5 wget https://www.openssl.org/source/openssl-1.1.1-pre5.tar.gz
- 解壓 tar -zxvf openssl-1.1.1-pre5.tar.gz
- 進(jìn)入到解壓目錄 cd 你的目錄/openssl-1.1.1-pre5
- 編譯 ./configure --prefix=/opt/project/openssl #指定安裝目錄
- 編譯完成之后安裝 make && make install
4.安裝nginx服務(wù)
手動(dòng)創(chuàng)建 nginx 用戶(hù)與用戶(hù)組
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
- 下載 wget http://nginx.org/download/nginx-1.14.0.tar.gz
- 解壓 tar -zxvf nginx-1.14.0.tar.gz
- 編譯
./configure --prefix=/opt/project/nginx-1.14 #nginx 安裝位置
--sbin-path=/opt/project/nginx-1.14/sbin/nginx #設(shè)置nginx可執(zhí)行文件路徑
--conf-path=/opt/project/nginx-1.14/config/nginx.conf #設(shè)置nginx配置文件路徑
--pid-path=/opt/project/nginx-1.14/logs/nginx.pid #設(shè)置nginx.pid文件
--error-log-path=/opt/project/nginx-1.14/logs/error.log #設(shè)置主錯(cuò)誤,警告,和診斷文件的名稱(chēng)
--lock-path=/opt/project/nginx-1.14/logs/nginx.log \
--http-log-path=/opt/project/nginx-1.14/logs/access.log #設(shè)置主請(qǐng)求的HTTP服務(wù)器的日志文件的名稱(chēng)
--with-http_ssl_module
--user=nginx \
--group=nginx \
--with-pcre=/var/software/nginx/pcre-8.38 #指的是pcre 的源碼路徑
--with-zlib=/var/software/nginx/zlib-1.2.11 #指的是zlib 的源碼路徑
--with-openssl=/var/software/nginx/openssl-1.1.1-pre5 #指的是openssl 的源碼路徑
- 安裝 make && make install
- nginx編譯安裝完成以后,修改nginx.conf
user nginx nginx;
啟動(dòng)nginx /opt/project/nginx/nginx
重啟nginx /opt/project/nginx/nginx -s reload
殺掉進(jìn)程 pkill -9 nignx
查看端口 netstat -ano|grep 80
查看進(jìn)程 ps -ef|grep nginx
6>
如果訪(fǎng)問(wèn)不了,需要關(guān)閉防火墻。
centos7 查看防火墻狀態(tài)
firewall-cmd --state #running 防火墻運(yùn)行中 (not running 已關(guān)閉)
關(guān)閉防火墻
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開(kāi)機(jī)啟動(dòng)
如果在安裝過(guò)程中,遇到問(wèn)題請(qǐng)自行g(shù)oogle,因?yàn)橄到y(tǒng)的差異遇到的錯(cuò)誤可能不太一樣。