CentOS6.5環(huán)境安裝nginx服務(wù)器及負(fù)載均衡配置操作詳解
本文實(shí)例講述了CentOS6.5環(huán)境安裝nginx服務(wù)器及負(fù)載均衡配置操作。分享給大家供大家參考,具體如下:
1、下載PCRE, 是一個(gè)用C語(yǔ)言編寫(xiě)的正則表達(dá)式函數(shù)庫(kù)
[root@localhost pcre-8.36]# cd /tmp/download/ [root@localhost download]# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz [root@localhost download]# tar zxvf pcre-8.36.tar.gz
2、下載zlib庫(kù)
[root@localhost pcre-8.36]# cd /tmp/download/ [root@localhost download]# wget http://ncu.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz [root@localhost download]# tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8
4、下載SSL
[root@localhost zlib-1.2.8]# cd .. [root@localhost download]# wget http://www.openssl.org/source/openssl-1.0.1p.tar.gz [root@localhost download]# cd openssl-1.0.1c [root@localhost openssl-1.0.1c]# tar -zxvf openssl-1.0.1c.tar.gz
5、下載nginx
[root@localhost download]# wget http://nginx.org/download/nginx-1.2.8.tar.gz [root@localhost download]# tar -zxvf nginx-1.2.8.tar.gz
6、安裝
[root@localhost download]mv pcre-8.36 /usr/local/ [root@localhost download]mv zlib-1.2.8 /usr/local/ [root@localhost download]mv openssl-1.0.1c /usr/local/ [root@localhost download]mv nginx-1.2.8 /usr/local/ [root@localhost download]cd /usr/local/ [root@localhost local]# cd pcre-8.36 [root@localhost pcre-8.36]# ./configure&&make&&make install [root@localhost pcre-8.36] cd ../zlib-1.2.8 [root@localhost zlib-1.2.8]# ./configure && make && make install [root@localhost zlib-1.2.8]# cd ../openssl-1.0.1c [root@localhost openssl-1.0.1c]# ./config && make && make install [root@localhost openssl-1.0.1c]# cd ../nginx-1.2.8 [root@localhost nginx-1.2.8]# ./configure --prefix=/usr/local/nginx && make && make install
7、啟動(dòng)nginx
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
8、測(cè)試
在確??梢赃B接到服務(wù)器的電腦上,瀏覽器輸入裝了nginx的機(jī)器的ip地址,會(huì)看到Welcome to nginx!的提示說(shuō)明安裝配配置成功了。
9、設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)(shell腳本處理)
[root@localhost logs]# vi /etc/init.d/nginx
添加以下shell腳本。
#!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-performance web and proxy server. # It has a lot of features, but it's not for everyone. # processname: nginx # pidfile: /var/run/nginx.pid # config: /usr/local/nginx/conf/nginx.conf nginxd=/usr/local/nginx/sbin/nginx nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid=/var/run/nginx.pid RETVAL=0 prog="nginx" # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x $nginxd ] || exit 0 # Start nginx daemons functions. start() { if [ -e $nginx_pid ];then echo "nginx already running...." exit 1 fi echo -n $"Starting $prog: " daemon $nginxd -c ${nginx_config} RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx return $RETVAL } # Stop nginx daemons functions. stop() { echo -n $"Stopping $prog: " killproc $nginxd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid } # reload nginx service functions. reload() { echo -n $"Reloading $prog: " #kill -HUP `cat ${nginx_pid}` killproc $nginxd -HUP RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) stop start ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|reload|status|help}" exit 1 esac exit $RETVAL
保存后,設(shè)置權(quán)限讓所有人可以操作。
[root@localhost ~]# chmod a+x /etc/init.d/nginx [root@localhost logs]# /etc/init.d/nginx status nginx (pid 2417 2416) is running... [root@localhost logs]# /etc/init.d/nginx stop Stopping nginx: [ OK ] [root@localhost logs]# /etc/init.d/nginx start Starting nginx: [ OK ] [root@localhost logs]# /etc/init.d/nginx status nginx (pid 2454 2452) is running... [root@localhost ~]# vi /etc/rc.local
添加:
/etc/init.d/nginx start
重啟電腦就會(huì)生效。
注意:腳本里面關(guān)于啟動(dòng)目錄的,如果你的安裝地址不一樣,要進(jìn)行修改。
負(fù)載均衡配置:
現(xiàn)有兩部服務(wù)器:
192.168.137.197 (按照以上操作安裝有nginx,作為轉(zhuǎn)發(fā)機(jī),虛擬機(jī))
192.168.137.33 (無(wú)安裝nginx,運(yùn)行有測(cè)試用的web工程,虛擬機(jī))
10.10.33.59 (無(wú)安裝nginx,運(yùn)行有測(cè)試用的web工程,本地電腦地址)
,運(yùn)行有測(cè)試用的web工程
127.0.0.1 web_app
[root@a conf]# vi /usr/local/nginx/conf/nginx.conf
配置如下展示:
worker_processes 8; pid /usr/local/nginx/nginx.pid; worker_rlimit_nofile 102400; events { use epoll; worker_connections 102400; } http { include mime.types; default_type application/octet-stream; fastcgi_intercept_errors on; charset utf-8; server_names_hash_bucket_size 128; client_header_buffer_size 4k; large_client_header_buffers 4 32k; client_max_body_size 300m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; client_body_buffer_size 512k; proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 5; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; ###2012-12-19 change nginx logs log_format main '$http_x_forwarded_for - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $request_time $remote_addr'; upstream web_app { server 192.168.137.197:8080 weight=1 max_fails=2 fail_timeout=30s; server 192.168.137.33:8080 weight=1 max_fails=2 fail_timeout=30s; server 10.10.33.59:8080 weight=1 max_fails=2 fail_timeout=30s; } ####chinaapp.sinaapp.com server { listen 80; server_name chinaapp.sinaapp.com; index index.jsp index.html index.htm; #發(fā)布目錄/data/www root /data/www; location / { proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://web_app; expires 3d; } } }
設(shè)置host:
[root@a conf]# vi /etc/hosts
添加hosts:
127.0.0.1 web_app
啟動(dòng)nginx
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
啟動(dòng)三部服務(wù)器的web應(yīng)用:
在192.168.137.197執(zhí)行指令:
[root@a PROGRAM]# curl "http://web_app/index.jsp"
測(cè)試結(jié)果如下:
常見(jiàn)問(wèn)題及解決辦法:
1、安裝PCRE時(shí)提示configure: error: You need a C++ compiler for C++ support.
原因是沒(méi)有安裝c++編譯器,采用下面的命令安裝:
[root@localhost pcre-8.37]# yum install -y gcc gcc-c++
2、啟動(dòng)nginx失敗
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf /usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
原因是64bit的系統(tǒng),但是默認(rèn)取了/usr/local/lib里面的包
檢查方法:
[root@localhost nginx]# cd /usr/local/ [root@localhost local]# ls /lib64/ |grep pcre libpcre.so.0 libpcre.so.0.0.1 [root@localhost local]# ls /lib/ |grep pcre
說(shuō)明缺失的包在lib64
設(shè)置軟連接來(lái)解決:
[root@localhost local]# ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1 [root@localhost local]# cd nginx [root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
3、啟動(dòng)報(bào)錯(cuò):
報(bào)錯(cuò):nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
解決辦法:sudo fuser -k 80/tcp
端口被占用,關(guān)閉占用端口
希望本文所述對(duì)大家CentOS服務(wù)器配置有所幫助。
- Nginx/Httpd負(fù)載均衡tomcat配置教程
- nginx負(fù)載均衡配置,宕機(jī)自動(dòng)切換方式
- WebApi部署多服務(wù)器配置Nginx負(fù)載均衡的教程
- Nginx配置參數(shù)中文說(shuō)明詳解(負(fù)載均衡與反向代理)
- Nginx正反向代理及負(fù)載均衡等功能實(shí)現(xiàn)配置代碼實(shí)例
- Nginx負(fù)載均衡/SSL配置的實(shí)現(xiàn)
- Linux 系統(tǒng) nginx 服務(wù)器安裝及負(fù)載均衡配置詳解
- Linux下Nginx負(fù)載均衡多個(gè)tomcat配置的方法步驟
- Nginx服務(wù)器負(fù)載均衡及ssl原理、生成ssl密鑰對(duì)、Nginx配置ssl操作示例
- Nginx負(fù)載均衡配置簡(jiǎn)單配置方法
- 詳解Linux系統(tǒng)配置nginx的負(fù)載均衡
- Nginx實(shí)現(xiàn)集群的負(fù)載均衡配置過(guò)程解析
- Nginx 負(fù)載均衡是什么以及該如何配置
相關(guān)文章
Linux 單個(gè)tomcat多實(shí)例部署shell腳本詳解
這篇文章主要介紹了Linux 單個(gè)tomcat多實(shí)例部署shell腳本詳解的相關(guān)資料,需要的朋友可以參考下2017-02-02在Bash腳本中創(chuàng)建和使用數(shù)組方法總結(jié)
在本篇文章里小編給大家整理了關(guān)于在Bash腳本中創(chuàng)建和使用數(shù)組方法和相關(guān)知識(shí)點(diǎn),需要的朋友們?cè)趯W(xué)習(xí)下。2019-03-03centos7系統(tǒng)部署k8s集群詳細(xì)介紹
大家好,本篇文章主要講的是centos7系統(tǒng)部署k8s集群詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Linux下gdb調(diào)試打印數(shù)組元素以及說(shuō)明
這篇文章主要介紹了Linux下gdb調(diào)試打印數(shù)組元素以及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Linux系統(tǒng)運(yùn)行級(jí)別詳細(xì)介紹
大家好,本篇文章主要講的是Linux系統(tǒng)運(yùn)行級(jí)別詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12nacos在linux下啟動(dòng)startup.sh報(bào)錯(cuò)問(wèn)題及解決
遇到Nacos啟動(dòng)錯(cuò)誤提示“Permission denied”,可通過(guò)執(zhí)行命令chmod u+x *.sh給予startup.sh執(zhí)行權(quán)限,解決權(quán)限問(wèn)題,啟動(dòng)成功,這是一種常見(jiàn)的解決Linux下腳本執(zhí)行權(quán)限問(wèn)題的方法2023-03-03