編譯安裝軟件 以Nginx為例

1.下載源碼包,官網(wǎng)找最新穩(wěn)定版本

wget http://nginx.org//download/nginx-1.16.0.tar.gz 

也可以直接官網(wǎng)下載到PC本地 xshell 使用rz命令上傳 或是ftp上傳

2.解壓.通常下載到/usr/local/src ,直接解壓到該目錄,用來專門放置安裝壓縮包和解壓源碼

3.配置參數(shù).

./configure --help    #查看可以設(shè)置哪些參數(shù)

其中 --prefix=install_path 這個(gè)參數(shù)是指定 make install的時(shí)候 軟件安裝的目錄

4.編譯

make [按照Makefile生成模塊]

5.安裝

make install

以nginx為例

1.基礎(chǔ)概念和依賴
nginx安裝可以使用yum或源碼安裝砍鸠,推薦使用源碼次询,一是yum的版本比較舊,二是使用源碼可以自定義功能雀费,方便業(yè)務(wù)的上的使用,源碼安裝需要提前準(zhǔn)備標(biāo)準(zhǔn)的編譯器亚铁,GCC的全稱是(GNU Compiler collection)伪很,其有GNU開發(fā)髓涯,并以GPL即LGPL許可,是自由的類UNIX即蘋果電腦Mac OS X操作系統(tǒng)的標(biāo)準(zhǔn)編譯器年叮,因?yàn)镚CC原本只能處理C語言具被,所以原名為GNU C語言編譯器,后來得到快速發(fā)展只损,可以處理C++,Fortran一姿,pascal,objective-C跃惫,java以及Ada等其他語言叮叹,此外還需要Automake工具,以完成自動(dòng)創(chuàng)建Makefile的工作爆存,Nginx的一些模塊需要依賴第三方庫蛉顽,比如pcre(支持rewrite),zlib(支持gzip模塊)和openssl(支持ssl模塊)
官網(wǎng)http://nginx.org/en/download.html下載最新穩(wěn)定版本到本地 本例子
登錄Xshell連接服務(wù)器[阿里云ECS]

yum install lrzsz #用來使用rz命令
cd /usr/local/src #進(jìn)入用戶編譯安裝源碼目錄
rz  # rz是代表上傳  會(huì)彈出window的選擇文件窗口,找到上面步驟下載的壓縮包,確定后會(huì)下載到當(dāng)前目錄下
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel  # 安裝nginx的編譯依賴

2.解壓

tar -vxf nginx-1.16.0.tar.gz # 解壓到當(dāng)前目錄
ll #查看解壓后的當(dāng)前目錄下的所有文件 # 主要目的看解壓后的文件名,一般為去掉壓縮為后綴的文件名,此處為nginx-1.16.0
cd  nginx-1.16.0

3.配置編譯安裝參數(shù)[如果想自己管理自己的軟件安裝,注意配置--prefix=你管理自己編譯安裝軟件的目錄路徑]

./configure  --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/usr/local/nginx/logs/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 --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre

4.make [編譯]

我在這里出現(xiàn)兩個(gè)問題 .  解決方案應(yīng)該都在編譯前就執(zhí)行
>編譯參數(shù)指定了用戶和用戶組   如果不存在會(huì)報(bào)錯(cuò) 所以要先創(chuàng)建nginx用戶
>編譯參數(shù)指定了日志目錄 可能該目錄目錄路徑?jīng)]有可寫權(quán)限 比如 日志放在 /var/log/nginx/下  但是 /var 目錄不可寫 會(huì)導(dǎo)致安裝報(bào)錯(cuò)  

5.make install [安裝]

此文章僅為學(xué)習(xí)記錄,原文章步驟非常詳細(xì)和好理解,見https://www.cnblogs.com/zhang-shijie/p/5294162.html

后續(xù)使用

/usr/local/nginx/sbin/nginx #啟動(dòng)nginx,通常沒有輸出任何信息,且下一步滿足即成功  
#遭遇了netstate -ntlp #查看網(wǎng)絡(luò)連接進(jìn)程,看到nginx進(jìn)程即為成功,
#在瀏覽器輸入服務(wù)器IP或解析過的域名
#會(huì)顯示/usr/local/nginx/html/index.html

啟動(dòng)過程可能會(huì)提示/var/run/nginx/nginx.pid 不存在或是不是一個(gè)文件之類的提示
建議調(diào)整配置文件/usr/local/nginx/conf/nginx.conf里的pid參數(shù),指定/usr/local/nginx/logs/nginx.pid [記得先創(chuàng)建logs目錄]

設(shè)置為開機(jī)自啟

創(chuàng)建nginx啟動(dòng)命令腳本

vim /etc/init.d/nginx #內(nèi)容如下

插入以下內(nèi)容, 注意修改PATH和NAME字段, 匹配自己的安裝路徑 (這段是從網(wǎng)上copy的) 不過查看了相關(guān)參數(shù),跟我的編譯參數(shù)完全匹配

#! /bin/bash
# chkconfig: - 85 15
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0

設(shè)置執(zhí)行權(quán)限

chmod a+x /etc/init.d/nginx

注冊(cè)成服務(wù)

chkconfig --add nginx

設(shè)置開機(jī)啟動(dòng)

chkconfig nginx on

重啟, 查看驗(yàn)證nginx服務(wù)是否自動(dòng)啟動(dòng)

#重啟
reboot #或
shutdown -h 0 -r
#查看進(jìn)程
ps aux | grep nginx #或
netstat -nplt | grep nginx

對(duì)nginx服務(wù)執(zhí)行停止/啟動(dòng)/重新讀取配置文件操作

#啟動(dòng)nginx服務(wù)
systemctl start nginx.service
#停止nginx服務(wù)
systemctl stop nginx.service
#重啟nginx服務(wù)
systemctl restart nginx.service
#重新讀取nginx配置(這個(gè)最常用, 不用停止nginx服務(wù)就能使修改的配置生效)
systemctl reload nginx.service

成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末终蒂,一起剝皮案震驚了整個(gè)濱河市蜂林,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拇泣,老刑警劉巖噪叙,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異霉翔,居然都是意外死亡睁蕾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門债朵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來子眶,“玉大人,你說我怎么就攤上這事序芦〕艚埽” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵谚中,是天一觀的道長(zhǎng)渴杆。 經(jīng)常有香客問我寥枝,道長(zhǎng),這世上最難降的妖魔是什么磁奖? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任囊拜,我火速辦了婚禮,結(jié)果婚禮上比搭,老公的妹妹穿的比我還像新娘冠跷。我一直安慰自己,他們只是感情好身诺,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布蜜托。 她就那樣靜靜地躺著,像睡著了一般戚长。 火紅的嫁衣襯著肌膚如雪盗冷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天同廉,我揣著相機(jī)與錄音仪糖,去河邊找鬼。 笑死迫肖,一個(gè)胖子當(dāng)著我的面吹牛锅劝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蟆湖,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼故爵,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了隅津?” 一聲冷哼從身側(cè)響起诬垂,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伦仍,沒想到半個(gè)月后结窘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡充蓝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年隧枫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谓苟。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡官脓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涝焙,到底是詐尸還是另有隱情卑笨,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布仑撞,位于F島的核電站湾趾,受9級(jí)特大地震影響芭商,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜搀缠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望近迁。 院中可真熱鬧艺普,春花似錦、人聲如沸鉴竭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搏存。三九已至瑰步,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間璧眠,已是汗流浹背缩焦。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留责静,地道東北人袁滥。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像灾螃,于是被迫代替她去往敵國(guó)和親题翻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

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