如何使用Nginx對Artifactory進(jìn)行http應(yīng)用

在我們?nèi)粘J褂酶呖捎眉簳r(shí),都會使用到負(fù)載均衡工具對多個(gè)節(jié)點(diǎn)的負(fù)載進(jìn)行轉(zhuǎn)發(fā)磁携。這里就不得不提到我們常用的一個(gè)負(fù)載均衡工具Nginx枢赔,Nginx官方提供的免費(fèi)版本功能相對簡單,大部分情況下我們都是用其進(jìn)行負(fù)載均衡斗遏,對于應(yīng)用的狀態(tài)主要是依賴于其他的監(jiān)控工具。如果對于小型的團(tuán)隊(duì)來說鞋邑,部署專門的監(jiān)控工具還需要資源最易,使用Nginx對應(yīng)用進(jìn)行探活監(jiān)控可以節(jié)約這部分成本。

首先安裝Nginx

使用yum安裝nginx我這里使用的是1.16.1版本

yum install nginx

安裝完成后可以獲取源碼安裝命令

nginx?-V

安裝Nginx探活插件

下載源碼與探活插件

wget https://nginx.org/download/nginx-1.16.1.tar.gz

wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/refs/heads/master.zip

Nginx使用源碼編譯安裝相關(guān)的依賴包

yum install pcre pcre-devel openssl openssl-devel gd gd-devel zlib patch libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed perl zlib-devel patch

解壓源碼和插件包炫狱,我這里將兩個(gè)軟件包全部放到/opt下面進(jìn)行解壓

tar?zxvf nginx-1.16.1.tar.gz

unzip nginx_upstream_check_module.zip

patch探活插件到Nginx源碼中

cd /opt/nginx-1.16.1

patch -p1 < /opt/nginx_upstream_check_module-master/check_1.16.1+.patch

執(zhí)行源碼編譯安裝藻懒,添加http探活插件

./configure ?\

--prefix=/usr/share/nginx ?\

--sbin-path=/usr/sbin/nginx ?\

--modules-path=/usr/lib64/nginx/modules ?\

--conf-path=/etc/nginx/nginx.conf ?\

--error-log-path=/var/log/nginx/error.log ?\

--http-log-path=/var/log/nginx/access.log ?\

--http-client-body-temp-path=/var/lib/nginx/tmp/client_body ?\

--http-proxy-temp-path=/var/lib/nginx/tmp/proxy ?\

--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi ?\

--http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi ?\

--http-scgi-temp-path=/var/lib/nginx/tmp/scgi ?\

--pid-path=/run/nginx.pid ?\

--lock-path=/run/lock/subsys/nginx ?\

--user=nginx ?\

--group=nginx ?\

--with-file-aio ?\

--with-ipv6 ?\

--with-http_ssl_module ?\

--with-http_v2_module ?\

--with-http_realip_module ?\

--with-stream_ssl_preread_module ?\

--with-http_addition_module ?\

--with-http_xslt_module=dynamic ?\

--with-http_image_filter_module=dynamic ?\

--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_degradation_module ?\

--with-http_slice_module ?\

--with-http_stub_status_module ?\

--with-http_perl_module=dynamic ?\

--with-http_auth_request_module ?\

--with-mail=dynamic ?\

--with-mail_ssl_module ?\

--with-pcre ?\

--with-pcre-jit ?\

--with-stream=dynamic ?\

--with-stream_ssl_module ?\

--with-debug ?\

--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' ?\

--with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E' \

--add-module=/opt/nginx_upstream_check_module-master/

使用Nginx負(fù)載Artifactory

Nginx可以作為Artifactory制品庫的負(fù)載均衡器,用來負(fù)載Artifactory多個(gè)節(jié)點(diǎn)間的請求视译,Artifactory也可以自動生成Nginx配置文件嬉荆,具體操作參考下圖

配置探活

生成配置文件后,使用探活插件的配置方法酷含,在Nginx的config 文件中進(jìn)行配置鄙早。具體樣例如下:

upstream artifactory {

server 192.168.1.2:8082;

server 192.168.1.3:8082;

????check interval=2000 rise=2 fall=2 timeout=1000 type=http;

????check_http_send "HEAD / HTTP/1.0\r\n\r\n";

????check_http_expect_alive http_2xx http_3xx

}

upstream artifactory-direct {

server 192.168.1.2:8081;

server 192.168.1.3:8081;

????check interval=2000 rise=2 fall=2 timeout=1000 type=http;

????check_http_send "HEAD / HTTP/1.0\r\n\r\n";

????check_http_expect_alive http_2xx http_3xx

}

server {


????listen 80 ;


????server_name artifactory.external.io;

????if ($http_x_forwarded_proto = '') {

????????set $http_x_forwarded_proto ?$scheme;

????}

????## Application specific logs

????## access_log /var/log/nginx/artifactory.external.io -access.log timing;

????## error_log /var/log/nginx/artifactory.external.io -error.log;

????rewrite ^/$ /ui/ redirect;

????rewrite ^/ui$ /ui/ redirect;

????chunked_transfer_encoding on;

????client_max_body_size 0;

????location / {

????????proxy_read_timeout ?2400s;

????????proxy_pass_header ??Server;

????????proxy_cookie_path ??~*^/.* /;

????????proxy_buffer_size 128k;

????????proxy_buffers 40 128k;

????????proxy_busy_buffers_size 128k;

????????proxy_pass ?????????http://artifactory;

????????proxy_set_header ???X-JFrog-Override-Base-Url $http_x_forwarded_proto://$host:$server_port;

????????proxy_set_header ???X-Forwarded-Port ?$server_port;

????????proxy_set_header ???X-Forwarded-Proto $http_x_forwarded_proto;

????????proxy_set_header ???Host ?????????????$http_host;

????????proxy_set_header ???X-Forwarded-For ??$proxy_add_x_forwarded_for;


????????location ~ ^/artifactory/ {

????????????proxy_pass ???http://artifactory-direct;

????????}

????}

????location /status {

????????check_status;

????????access_log ??off;

????}

}

探活配置成功之后訪問,預(yù)置的location可以看到當(dāng)前負(fù)載應(yīng)用節(jié)點(diǎn)的健康狀態(tài)



并且還支持json格式查看椅亚,方便我們進(jìn)行數(shù)據(jù)采集


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末限番,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子呀舔,更是在濱河造成了極大的恐慌弥虐,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件媚赖,死亡現(xiàn)場離奇詭異霜瘪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)惧磺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門颖对,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人磨隘,你說我怎么就攤上這事缤底」嘶迹” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵个唧,是天一觀的道長江解。 經(jīng)常有香客問我,道長坑鱼,這世上最難降的妖魔是什么膘流? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任絮缅,我火速辦了婚禮鲁沥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘耕魄。我一直安慰自己画恰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布吸奴。 她就那樣靜靜地躺著允扇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪则奥。 梳的紋絲不亂的頭發(fā)上考润,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機(jī)與錄音读处,去河邊找鬼糊治。 笑死,一個(gè)胖子當(dāng)著我的面吹牛罚舱,可吹牛的內(nèi)容都是我干的井辜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼管闷,長吁一口氣:“原來是場噩夢啊……” “哼粥脚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起包个,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤刷允,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后碧囊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恃锉,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年呕臂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了破托。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡歧蒋,死狀恐怖土砂,靈堂內(nèi)的尸體忽然破棺而出州既,到底是詐尸還是另有隱情,我是刑警寧澤萝映,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布吴叶,位于F島的核電站,受9級特大地震影響序臂,放射性物質(zhì)發(fā)生泄漏蚌卤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一奥秆、第九天 我趴在偏房一處隱蔽的房頂上張望逊彭。 院中可真熱鬧,春花似錦构订、人聲如沸侮叮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽囊榜。三九已至,卻和暖如春亥宿,著一層夾襖步出監(jiān)牢的瞬間卸勺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工烫扼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曙求,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓材蛛,卻偏偏與公主長得像圆到,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子卑吭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

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

  • Page 1:nginx 服務(wù)器安裝及配置文件詳解 CentOS 6.2 x86_64 安裝 nginx 1.1 ...
    xiaojianxu閱讀 8,536評論 1 41
  • nginx在工作中已經(jīng)有好幾個(gè)環(huán)境在使用了芽淡,每次都是重新去網(wǎng)上扒博客,各種編譯配置豆赏,今天自己也整理一份安裝文檔和n...
    AndyChin閱讀 2,299評論 0 4
  • nginx做負(fù)載均衡器以及proxy緩存配置 關(guān)于nginx的安裝和基本配置請參考nginx挣菲,本文在原基礎(chǔ)上完成以...
    meng_philip123閱讀 1,598評論 1 16
  • 0.網(wǎng)站頁面訪問:a.網(wǎng)站頁面訪問流程:01.客戶端 瀏覽器輸入網(wǎng)址信息點(diǎn)擊回車02.客戶端 完成域名的解析過...
    噬魂老妖閱讀 281評論 0 1
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒掷邦。表情可以傳達(dá)很多信息白胀。高興了當(dāng)然就笑了,難過就哭了抚岗。兩者是相互影響密不可...
    Persistenc_6aea閱讀 125,043評論 2 7