Centos7下安裝Nginx

通過添加yum源安裝

安裝編譯器和依賴

 yum  install -y gcc gcc-c++ make libtool zlib \
zlib-devel openssl openssl-devel pcre pcre-devel

添加yum源

因為yum源中沒有Nginx见转,所以先得把Nginx源加入yum中

其實安裝rpm源就相當(dāng)于我們自己新建一個repo倉庫液样,只不過yum的話它自動幫我們建立 /etc/yum.repos.d/nginx.repo

Nginx-RPM源 http://nginx.org/packages

Nginx-packges
yum install -y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#其實安裝rpm源就相當(dāng)于我們自己新建一個repo倉庫
#只不過yum的話他自動幫我們建立 /etc/yum.repos.d/nginx.repo

yum install nginx
rpm -q nginx

通過yum安裝的好處是簡單座咆,方便管理和升級,能yum安裝當(dāng)然最好儡炼,其次才是源碼安裝蛔翅。


通過源碼安裝

Nginx源碼地址

https://nginx.org/en/download.html

建議安裝穩(wěn)定版

Nginx源碼安裝約定:

nginx源碼路徑:/usr/local/src
nginx安裝路徑:/usr/local/nginx
nginx配置文件路徑:/usr/local/nginx/conf/nginx.conf
nginx虛擬主機(jī)路徑:/usr/local/nginx/conf/vhosts

安裝編譯器和依賴

yum  install -y gcc gcc-c++ make libtool zlib \
zlib-devel openssl openssl-devel pcre pcre-devel

下載源碼

cd /usr/local/src
wget https://nginx.org/download/nginx-1.12.1.tar.gz

添加nginx用戶和組

useradd  -s /sbin/nologin -M nginx
#也可指定UID, -u

安裝Nginx

tar -xzvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --prefix=/usr/local/nginx \
--user=nginx --group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre \
--with-ipv6 \
--with-stream

make && make install

設(shè)置環(huán)境變量

echo "export PATH=$PATH:/usr/local/nginx/sbin" >> /etc/profile
source /etc/profile

添加nginx啟動腳本

vi /etc/init.d/nginx:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /usr/local/nginx/conf/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /usr/local/nginx/logs/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

sysconfig="/etc/sysconfig/$prog"
lockfile="/var/lock/subsys/nginx"
pidfile="/usr/local/nginx/logs/${prog}.pid"

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f $sysconfig ] && . $sysconfig


start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc -p $pidfile $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest_q || return 6
    stop
    start
}

reload() {
    configtest_q || return 6
    echo -n $"Reloading $prog: "
    killproc -p $pidfile $prog -HUP
    echo
}

configtest() {
    $nginx -t -c $NGINX_CONF_FILE
}

configtest_q() {
    $nginx -t -q -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

# Upgrade the binary with no downtime.
upgrade() {
    local oldbin_pidfile="${pidfile}.oldbin"

    configtest_q || return 6
    echo -n $"Upgrading $prog: "
    killproc -p $pidfile $prog -USR2
    retval=$?
    sleep 1
    if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]];  then
        killproc -p $oldbin_pidfile $prog -QUIT
        success $"$prog online upgrade"
        echo 
        return 0
    else
        failure $"$prog online upgrade"
        echo
        return 1
    fi
}

# Tell nginx to reopen logs
reopen_logs() {
    configtest_q || return 6
    echo -n $"Reopening $prog logs: "
    killproc -p $pidfile $prog -USR1
    retval=$?
    echo
    return $retval
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest|reopen_logs)
        $1
        ;;
    force-reload|upgrade) 
        rh_status_q || exit 7
        upgrade
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    status|status_q)
        rh_$1
        ;;
    condrestart|try-restart)
        rh_status_q || exit 7
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}"
        exit 2
esac


兩者的卸載和升級

yum卸載 yum remove xxx
yum升級 yum update xxx 充包。

源碼的話副签,要麻煩一些:
有提供 unstall 的話可以 make uninstall,或者找出安裝的文件夾基矮,whereis, --prefix那些淆储,刪除那些文件夾;
下載新版本安裝包家浇,注意編譯參數(shù)那些本砰,重新安裝;




順便談?wù)剏um安裝和源碼安裝

yum安裝是將yum源的rpm包下載到本地钢悲,安裝這個rpm包点额。這個rpm包是別人編譯安裝好的二進(jìn)制包;

源碼安裝莺琳,下載源碼还棱,解壓縮后進(jìn)行編譯和安裝,可進(jìn)行參數(shù)等設(shè)定惭等;

yum安裝優(yōu)缺點:

安裝簡單珍手、快捷、方便辞做,自動安裝依賴包琳要,管理方便;
但安裝無法進(jìn)行人為干預(yù)秤茅,不能按需安裝稚补。源里面有什么就安裝什么。

源碼安裝優(yōu)缺點:

編譯安裝過程可執(zhí)行設(shè)定參數(shù)框喳,按需安裝课幕,可自己選擇版本,靈活性大帖努;
Linux中的包撰豺,一個依賴一個,裝任何一個東西都要解決依賴問題拼余,源碼就得要解決一堆依賴問題。源碼安裝多了亩歹,不敢升級系統(tǒng)匙监,升級后可能導(dǎo)致以前手動裝的東西由于依賴問題而無法使用凡橱。

源碼安裝是很有必要的,這樣可以知道自己在做什么亭姥。安裝過程中遇到很多問題稼钩,正好可以學(xué)習(xí)如何解決,這樣才能成長达罗。如果一直用yum裝坝撑,如果yum安裝出了問題,不知道怎么解決就很悲劇了粮揉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末巡李,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子扶认,更是在濱河造成了極大的恐慌侨拦,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辐宾,死亡現(xiàn)場離奇詭異狱从,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)叠纹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進(jìn)店門季研,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人誉察,你說我怎么就攤上這事训貌。” “怎么了冒窍?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵递沪,是天一觀的道長。 經(jīng)常有香客問我综液,道長款慨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任谬莹,我火速辦了婚禮檩奠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘附帽。我一直安慰自己埠戳,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布蕉扮。 她就那樣靜靜地躺著整胃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喳钟。 梳的紋絲不亂的頭發(fā)上屁使,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天在岂,我揣著相機(jī)與錄音,去河邊找鬼蛮寂。 笑死蔽午,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的酬蹋。 我是一名探鬼主播及老,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼范抓!你這毒婦竟也來了骄恶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤尉咕,失蹤者是張志新(化名)和其女友劉穎叠蝇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體年缎,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡悔捶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了单芜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜕该。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖洲鸠,靈堂內(nèi)的尸體忽然破棺而出堂淡,到底是詐尸還是另有隱情,我是刑警寧澤扒腕,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布绢淀,位于F島的核電站,受9級特大地震影響瘾腰,放射性物質(zhì)發(fā)生泄漏皆的。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一蹋盆、第九天 我趴在偏房一處隱蔽的房頂上張望费薄。 院中可真熱鬧,春花似錦栖雾、人聲如沸楞抡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽召廷。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間柱恤,已是汗流浹背数初。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工找爱, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留梗顺,地道東北人。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓车摄,卻偏偏與公主長得像寺谤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子吮播,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,926評論 2 361

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

  • http://blog.csdn.net/mathewsking/article/details/8211273 ...
    liuboxx1閱讀 6,075評論 1 1
  • 一变屁、編譯安裝的方式 預(yù)安裝nginx依賴的一些庫或軟件并創(chuàng)建運行nginx的賬戶 到nginx官網(wǎng)下載最新版本的n...
    清月比特閱讀 388評論 0 0
  • 關(guān)于 Nginx Nginx 是一個網(wǎng)頁的服務(wù)器,它能代理HTTP意狠、HTTPS粟关、SMTP、POP3环戈、IMAP的協(xié)議...
    蘇近之2017閱讀 95評論 0 0
  • 《鳥哥的Linux私房菜》筆記 軟件管理器簡介 不是每個人都會進(jìn)行源碼安裝的! 廠商先在他們的系統(tǒng)上面編譯好了我們...
    Zhang21閱讀 1,477評論 0 6
  • 久久不能平靜拦止,是因為第一次坐飛機(jī)县遣,哈哈。特別是在這之前汹族,一想到要坐飛機(jī)萧求,就想立馬告訴身邊的人,想把自己的這份欣喜找...
    LeiovU閱讀 179評論 0 0