Ubuntu Nginx源碼安裝

Nginx

Nginx官網(wǎng)地址:http://nginx.org
Niginx3個(gè)版本:

  • Mainline version: 是Nginx目前主力研發(fā)的版本。
  • Stable version: 是最新的穩(wěn)定版本,主要用在生產(chǎn)環(huán)境袍祖。
  • Legacy version: 穩(wěn)定的老版本瓦糟。

源碼編譯依賴gcc環(huán)境憨琳,需要安裝 gcc椎侠、g++包姿染。
部分Nginx模塊依賴 zlib伐憾、pcre勉痴、openssl庫(kù),需要安裝树肃。
以為安裝過(guò)程需要root權(quán)限蒸矛,所以選擇root用戶安裝。

1胸嘴、升級(jí)apt-get軟件包
sudo apt-get update && sudo apt-get upgrade

2雏掠、安裝nginx的依賴包 zlib pcre openssl(可以源碼安裝也可以直接系統(tǒng)安裝)
sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential

3、下載安裝openssl源碼包

# 下載
wget http://www.openssl.org/source/openssl-1.0.2a.tar.gz
# 解壓
sudo tar -zxvf openssl-1.0.2a.tar.gz -C /usr/local/src/
cd /usr/local/src/openssl-1.0.2a/
# 配置
sudo ./config
# 編譯安裝
sudo make && sudo make instal

4筛谚、下載nginx源碼包

# 下載版本與地址參考官網(wǎng):http://nginx.org/en/download.html
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 --with-openssl=/usr/include/openssl
# 編譯安裝
sudo make && sudo make install 

配置nginx 開(kāi)機(jī)服務(wù)

為改善每次操作易用性磁玉,我們?cè)O(shè)置個(gè)nginx系統(tǒng)服務(wù),可以通過(guò)service nginx {start|stop|restart|status} 操作驾讲。

  1. 創(chuàng)建服務(wù)腳本:
    sudo vim /etc/init.d/nginx
#!/bin/sh

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
# 設(shè)置nginx的啟動(dòng)路徑 
DAEMON=/usr/local/nginx/sbin
NAME=nginx
DESC=nginx

if [ -f /etc/default/nginx ]; then
   . /etc/default/nginx
fi

test -x $DAEMON || exit 0

set -e

. /lib/lsb/init-functions

test_nginx_config() {
   if $DAEMON -t $DAEMON_OPTS >/dev/null 2>&1; then
      return 0
   else
      $DAEMON -t $DAEMON_OPTS
      return $?
   fi
}

case "$1" in
   start)
      echo -n "Starting $DESC: "
      test_nginx_config
      if [ -n "$ULIMIT" ]; then
         ulimit $ULIMIT
      fi
      start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
          --exec $DAEMON -- $DAEMON_OPTS || true
      echo "$NAME."
      ;;

   stop)
      echo -n "Stopping $DESC: "
      start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
          --exec $DAEMON || true
      echo "$NAME."
      ;;

   restart|force-reload)
      echo -n "Restarting $DESC: "
      start-stop-daemon --stop --quiet --pidfile \
          /var/run/$NAME.pid --exec $DAEMON || true
      sleep 1
      test_nginx_config
      if [ -n "$ULIMIT" ]; then
         ulimit $ULIMIT
      fi
      start-stop-daemon --start --quiet --pidfile \
          /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
      echo "$NAME."
      ;;

   reload)
      echo -n "Reloading $DESC configuration: "
      test_nginx_config
      start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
          --exec $DAEMON || true
      echo "$NAME."
      ;;

   configtest|testconfig)
      echo -n "Testing $DESC configuration: "
      if test_nginx_config; then
         echo "$NAME."
      else
         exit $?
      fi
      ;;

   status)
      status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
      ;;
   *)
      echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
      exit 1
      ;;
esac

exit 0

2蚊伞、設(shè)置文件權(quán)限并增加到系統(tǒng)服務(wù)
sudo chmod +x ./nginx
sudo update-rc.d nginx defaults

3席赂、啟動(dòng)nginx
sudo /etc/init.d/nginx

Nginx簡(jiǎn)單操作

驗(yàn)證是否安裝成功

通過(guò)查看nginx的版本信息查看

/usr/local/nginx/sbin/nginx -v

如果安裝成功會(huì)顯示nginx的版本信息,如:

nginx version: nginx/1.8.0

啟動(dòng)Nginx服務(wù)

/usr/local/nginx/sbin/nginx

查看Nginx進(jìn)程信息

ps -ef | grep nginx
啟動(dòng)成功信息如下:

root 5070 1 0 Feb11 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 5071 5070 0 Feb11 ? 00:00:00 nginx: worker process
ubuntu 31032 22629 0 22:44 pts/0 00:00:00 grep nginx

master process 主要讀取和評(píng)估配置时迫,維護(hù)worker process颅停。
worker process數(shù)量在配置文件中定義,負(fù)責(zé)請(qǐng)求的實(shí)際處理掠拳。Nginx主要基于試講的模型和依賴操作系統(tǒng)的機(jī)制來(lái)高效的在worker process之間分配請(qǐng)求癞揉。

關(guān)閉Nginx服務(wù)

停止進(jìn)程:kill-QUIT 主進(jìn)程號(hào)
快速停止:kill-TERM 主進(jìn)程號(hào)
強(qiáng)行停止:pkill -9 nginx

測(cè)試80端口

netstat -ntulp | grep 80

瀏覽器訪問(wèn)測(cè)試

localhost:80 或 ip:80
會(huì)顯示ngix的歡迎界面

Nginx配置

Nginx安裝目錄:/usr/local/nginx

環(huán)境變量配置

vim /etc/profile
添加Nginx執(zhí)行文件的路徑
export PATH=$PATH:/usr/local/nginx/sbin
使立即生效:source /etc/profile
測(cè)試命令:nginx -v

Nginx源碼編譯配置

使用configure命令配置Nginx各項(xiàng)系統(tǒng)配置,并最終創(chuàng)建一個(gè)Makefile文件溺欧。

  1. 查看命令幫助信息
cd /usr/local/src/nginx-1.8.0
./configure --help

其中以--without開(kāi)頭為默認(rèn)安裝選項(xiàng)喊熟,以PATH結(jié)尾是手動(dòng)指定依賴庫(kù)源碼目錄選項(xiàng),更詳細(xì)需要參考官網(wǎng)文檔姐刁。

  1. 配置命令
./configure
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芥牌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子聂使,更是在濱河造成了極大的恐慌壁拉,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柏靶,死亡現(xiàn)場(chǎng)離奇詭異弃理,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)屎蜓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門痘昌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人梆靖,你說(shuō)我怎么就攤上這事控汉。” “怎么了返吻?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵姑子,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我测僵,道長(zhǎng)街佑,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任捍靠,我火速辦了婚禮沐旨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘榨婆。我一直安慰自己磁携,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布良风。 她就那樣靜靜地躺著谊迄,像睡著了一般闷供。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上统诺,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天歪脏,我揣著相機(jī)與錄音,去河邊找鬼粮呢。 笑死婿失,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的啄寡。 我是一名探鬼主播豪硅,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼这难!你這毒婦竟也來(lái)了舟误?” 一聲冷哼從身側(cè)響起葡秒,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤姻乓,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后眯牧,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蹋岩,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年学少,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剪个。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡版确,死狀恐怖扣囊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绒疗,我是刑警寧澤侵歇,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站吓蘑,受9級(jí)特大地震影響惕虑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜磨镶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一溃蔫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧琳猫,春花似錦伟叛、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)侄榴。三九已至,卻和暖如春网沾,著一層夾襖步出監(jiān)牢的瞬間癞蚕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工辉哥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留桦山,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓醋旦,卻偏偏與公主長(zhǎng)得像恒水,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饲齐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一钉凌、nginx的功能 1、主要作為WEB服務(wù)器捂人,份額排在第二位御雕。僅次于apache。 2002年開(kāi)始開(kāi)發(fā)滥搭。 2酸纲、反...
    奧斯特洛司機(jī)閱讀 1,313評(píng)論 0 0
  • 為什么要使用nginx+uwsgi+flask 因?yàn)闃?biāo)準(zhǔn)python只能是單線程,無(wú)法并發(fā)瑟匆,而uwsgi/guni...
    佑___閱讀 3,850評(píng)論 0 5
  • 參考考地文章地址:這個(gè)嘗試過(guò):https://www.cnblogs.com/EasonJim/p/7806879...
    joy_藍(lán)蜘蛛閱讀 445評(píng)論 0 0
  • Nginx 基于Ubuntu的源碼安裝詳解 Nginx介紹 Nginx是一個(gè)高性能的HTTP和反向代理服務(wù)器愁溜,...
    allen成閱讀 406評(píng)論 0 0
  • 推薦指數(shù): 6.0 書(shū)籍主旨關(guān)鍵詞:特權(quán)疾嗅、焦點(diǎn)、注意力冕象、語(yǔ)言聯(lián)想代承、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會(huì)...
    Jenaral閱讀 5,721評(píng)論 0 5