通過源碼安裝nginx
更新軟件源
sudo apt-get update && sudo apt-get upgrade
安裝依賴包
sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential
下載nginx源碼包并編譯安裝
wget http://nginx.org/download/nginx-1.8.0.tar.gz
sudo tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-1.8.0
sudo ./configure --prefix=/usr/local/nginx
sudo make && sudo make install
通過源碼安裝,nginx所有的內(nèi)容都被安裝在/usr/local/nginx文件夾下,nginx所有的配置文件都在conf文件夾里;nginx的啟動(dòng)腳本在sbin目錄下.
nginx源碼常用編譯選項(xiàng)
nginx大部分常用模塊棱烂,編譯時(shí)./configure --help以--without開頭的都默認(rèn)安裝.
- --prefix=PATH : 指定nginx的安裝目錄融涣。默認(rèn) /usr/local/nginx
- --conf-path=PATH : 設(shè)置nginx.conf配置文件的路徑阱驾。nginx允許使用不同的配置文件啟動(dòng),通過命令行中的-c選項(xiàng)。默認(rèn)為prefix/conf/nginx.conf
- --user=name: 設(shè)置nginx工作進(jìn)程的用戶老虫。安裝完成后,可以隨時(shí)在nginx.conf配置文件更改user指令。默認(rèn)的用戶名是nobody漫试。--group=name類似
- --with-pcre : 設(shè)置PCRE庫的源碼路徑,如果已通過yum方式安裝碘赖,使用--with-pcre自動(dòng)找到庫文件驾荣。使用--with-pcre=PATH時(shí),需要從PCRE網(wǎng)站下載pcre庫的源碼(版本4.4 - 8.30)并解壓普泡,剩下的就交給Nginx的./configure和make來完成播掷。perl正則表達(dá)式使用在location指令和 ngx_http_rewrite_module模塊中。
- --with-zlib=PATH : 指定 zlib(版本1.1.3 - 1.2.5)的源碼解壓目錄撼班。在默認(rèn)就啟用的網(wǎng)絡(luò)傳輸壓縮模塊ngx_http_gzip_module時(shí)需要使用zlib 歧匈。
- --with-http_ssl_module : 使用https協(xié)議模塊。默認(rèn)情況下权烧,該模塊沒有被構(gòu)建眯亦。前提是openssl與openssl-devel已安裝
- --with-http_stub_status_module : 用來監(jiān)控 Nginx 的當(dāng)前狀態(tài)
- --with-http_realip_module : 通過這個(gè)模塊允許我們改變客戶端請(qǐng)求頭中客戶端IP地址值(例如X-Real-IP 或 X-Forwarded-For)伤溉,意義在于能夠使得后臺(tái)服務(wù)器記錄原始客戶端的IP地址
- --add-module=PATH : 添加第三方外部模塊,如nginx-sticky-module-ng或緩存模塊妻率。每次添加新的模塊都要重新編譯(Tengine可以在新加入module時(shí)無需重新編譯)
默認(rèn)的提供一種編譯方案
./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--with-pcre=../pcre-7.8
--with-zlib=../zlib-1.2.3
nginx啟動(dòng)命令
#檢查配置文件是否正確
sudo /usr/local/nginx/sbin/nginx -t
#查看編譯選項(xiàng)
sudo /usr/local/nginx/sbin/nginx -V
#啟動(dòng)
sudo /usr/local/nginx/sbin/nginx
#關(guān)閉
sudo /usr/local/nginx/sbin/nginx -s stop
#重啟,不會(huì)改變啟動(dòng)時(shí)制定的配置文件
sudo /usr/local/nginx/sbin/nginx -s reload
通過Ubuntu軟件包管理器安裝
sudo apt-get install nginx
通過Ubuntu軟件包管理器安裝nginx,配置文件在/etc/nginx 目錄下;自啟動(dòng)腳本在/etc/init.d/nginx.
參考文章:
www.linuxidc.com/Linux/2015-05/117654.htm
https://segmentfault.com/a/1190000002797601