溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Ubuntu上安裝Nginx服務(wù)器程序及簡(jiǎn)單環(huán)境配置的方法

發(fā)布時(shí)間:2022-04-29 16:13:44 來(lái)源:億速云 閱讀:341 作者:iii 欄目:大數(shù)據(jù)

這篇“Ubuntu上安裝Nginx服務(wù)器程序及簡(jiǎn)單環(huán)境配置的方法”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Ubuntu上安裝Nginx服務(wù)器程序及簡(jiǎn)單環(huán)境配置的方法”文章吧。

ubuntu 從官方源安裝 nginx

cd ~ 
wget http://nginx.org/keys/nginx_signing.key 
sudo apt-key add nginx_signing.key 
sudo nano /etc/apt/sources.list   # 添加以下兩句 
deb http://nginx.org/packages/ubuntu/ precise nginx 
deb-src http://nginx.org/packages/ubuntu/ precise nginx 
sudo apt-get update 
sudo apt-get install nginx

ubuntu 從ppa源安裝 nginx :

sudo add-apt-repository ppa:nginx/stable 
sudo apt-get update 
sudo apt-get install nginx

ubuntu 從常規(guī)源安裝 nginx :

sudo apt-get install nginx

編譯安裝nginx

wget http://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/nginx_1.5.7-1~precise_i386.deb 
wget http://nginx.org/download/nginx-1.5.7.tar.gz
tar xzf nginx-1.5.7.tar.gz
cd nginx-1.5.7

(注意:nginx1.5.7是mainline版而非stable版)

為了方便開發(fā)和管理,我在根目錄下新建了一個(gè)png目錄,并且目錄所有者設(shè)置為當(dāng)前用戶,nginx就編譯在/png/nginx/1.5.7下面:

sudo mkdir /png
sudo chown eechen:eechen /png

運(yùn)行用戶我定義為png:png,所以我需要新建這樣一個(gè)用戶:

sudo addgroup png --system
sudo adduser png --system --disabled-login --ingroup png --no-create-home --home /nonexistent --gecos "png user" --shell /bin/false

(新建用戶的命令可以參考官方deb包里的預(yù)安裝腳本debian/preinst)

編譯參數(shù)參考了nginx官方提供的deb包(nginx -v可見).

./configure \
--prefix=/png/nginx/1.5.7 \
--sbin-path=/png/nginx/1.5.7/sbin/nginx \
--conf-path=/png/nginx/1.5.7/conf/nginx.conf \
--error-log-path=/png/nginx/1.5.7/var/log/error.log \
--http-log-path=/png/nginx/1.5.7/var/log/access.log \
--pid-path=/png/nginx/1.5.7/var/run/nginx.pid \
--lock-path=/png/nginx/1.5.7/var/run/nginx.lock \
--http-client-body-temp-path=/png/nginx/1.5.7/var/cache/client_temp \
--http-proxy-temp-path=/png/nginx/1.5.7/var/cache/proxy_temp \
--http-fastcgi-temp-path=/png/nginx/1.5.7/var/cache/fastcgi_temp \
--http-uwsgi-temp-path=/png/nginx/1.5.7/var/cache/uwsgi_temp \
--http-scgi-temp-path=/png/nginx/1.5.7/var/cache/scgi_temp \
--user=png \
--group=png \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-ipv6

注意:這一步按錯(cuò)誤提示安裝依賴的包,這時(shí)就是apt要發(fā)威的時(shí)候了,比如我的系統(tǒng)安裝了這些包:

sudo apt-get -y install \
build-essential \
autoconf \
libtool \
libxml2 \
libxml2-dev \
openssl \
libcurl4-openssl-dev \
libbz2-1.0 \
libbz2-dev \
libjpeg-dev \
libpng12-dev \
libfreetype6 \
libfreetype6-dev \
libldap-2.4-2 \
libldap2-dev \
libmcrypt4 \
libmcrypt-dev \
libmysqlclient-dev \
libxslt1.1 \
libxslt1-dev \
libxt-dev \
libpcre3-dev

安裝好這些包后,下次編譯新版nginx就不用再裝了,而且基本也滿足編譯php時(shí)configure的需求.
好了,configure成功后就可以編譯安裝了:

time make && make install

time主要用來(lái)查看本次編譯耗時(shí).
編譯好后可以看看這個(gè)家伙的個(gè)頭:

du -sh /png/nginx/1.5.7/sbin/nginx
5.5m /png/nginx/1.5.7/sbin/nginx

環(huán)境簡(jiǎn)單配置總結(jié)
減小nginx編譯后的文件大小:
編輯源文件 nginx-1.5.7/auto/cc/gcc 去除debug信息(注釋掉即可):

# debug 
# cflags="$cflags -g"

這樣編譯后的主程序大小則為700多k,和nginx官方提供的deb包程序大小相近.
另外configure時(shí)去掉一些不需要的模塊,編譯后的可執(zhí)行文件會(huì)更小.
當(dāng)然,我需要一個(gè)服務(wù)腳本用來(lái)管理nginx,這時(shí)同樣可以借助官方deb包里提供的服務(wù)腳本etc/init.d/nginx.
我把它放到/png/nginx/1.5.7/nginx,對(duì)開頭定義的幾個(gè)值(13到19行)進(jìn)行稍加修改:

path=/sbin:/usr/sbin:/bin:/usr/bin
desc=nginx
name=nginx
conffile=/etc/nginx/nginx.conf
daemon=/usr/sbin/nginx
pidfile=/var/run/$name.pid
scriptname=/etc/init.d/$name
改為
path=/sbin:/usr/sbin:/bin:/usr/bin
desc=nginx
name=nginx
conffile=/png/nginx/1.5.7/conf/nginx.conf
daemon=/png/nginx/1.5.7/sbin/nginx
pidfile=/png/nginx/1.5.7/var/run/$name.pid
scriptname=/png/nginx/1.5.7/$name

啟動(dòng)前先創(chuàng)建一個(gè)cache目錄,否則會(huì)提示出錯(cuò):

mkdir /png/nginx/1.5.7/var/cache

啟動(dòng)nginx:

sudo /png/nginx/1.5.7/nginx start

測(cè)試頁(yè)面:

curl -i `hostname`

看一下端口:

sudo netstat -antp|grep nginx

查看一下它占用的內(nèi)存:
htop按f4過濾nginx

Ubuntu上安裝Nginx服務(wù)器程序及簡(jiǎn)單環(huán)境配置的方法

用top同樣能看到類似內(nèi)容:

top -b -n1|head -n7 && top -b -n1|grep nginx

Ubuntu上安裝Nginx服務(wù)器程序及簡(jiǎn)單環(huán)境配置的方法

主要看res這個(gè)值,常駐內(nèi)存(resident),不包括swap空間的物理內(nèi)存, 單位為kb,%mem就是以res為參照對(duì)象.
可以看到nginx兩個(gè)進(jìn)程占用的物理內(nèi)存加起來(lái)不到2m,內(nèi)存占用非常小.
另外top里的res這個(gè)值對(duì)應(yīng)ps aux里的rss這個(gè)值:

ps aux|head -n1 && ps aux|grep nginx

還有我們可以看到nginx的工人進(jìn)程只有一個(gè)線程:

cat /proc/25047/status|grep threads
threads: 1

其中25047是nginx工人進(jìn)程pid號(hào).
把nginx做成系統(tǒng)服務(wù),開機(jī)自啟動(dòng):

sudo ln -s /png/nginx/1.5.7/nginx /etc/init.d/png-nginx
sudo update-rc.d png-nginx defaults #開機(jī)自啟動(dòng) 
sudo update-rc.d -f png-nginx remove # 以后不想開機(jī)自啟動(dòng)可以這樣禁止
sudo service png-nginx reload #這樣就可以用service來(lái)管理nginx服務(wù)了,比如重載配置

最后,nginx的主配置文件位于/png/nginx/1.5.7/conf/nginx.conf,自己按需配置.

以上就是關(guān)于“Ubuntu上安裝Nginx服務(wù)器程序及簡(jiǎn)單環(huán)境配置的方法”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI