CentOS6.5环境安装nginx服务器及负载均衡配置操作详解
作者:ASIH 发布时间:2023-11-13 14:55:07
本文实例讲述了CentOS6.5环境安装nginx服务器及负载均衡配置操作。分享给大家供大家参考,具体如下:
1、下载PCRE, 是一个用C语言编写的正则表达式函数库
[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库
[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、启动nginx
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
8、测试
在确保可以连接到服务器的电脑上,浏览器输入装了nginx的机器的ip地址,会看到Welcome to nginx!的提示说明安装配配置成功了。
9、设置开机自动启动(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
保存后,设置权限让所有人可以操作。
[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
重启电脑就会生效。
注意:脚本里面关于启动目录的,如果你的安装地址不一样,要进行修改。
负载均衡配置:
现有两部服务器:
192.168.137.197 (按照以上操作安装有nginx,作为转发机,虚拟机)
192.168.137.33 (无安装nginx,运行有测试用的web工程,虚拟机)
10.10.33.59 (无安装nginx,运行有测试用的web工程,本地电脑地址)
,运行有测试用的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;
#发布目录/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;
}
}
}
设置host:
[root@a conf]# vi /etc/hosts
添加hosts:
127.0.0.1 web_app
启动nginx
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
启动三部服务器的web应用:
在192.168.137.197执行指令:
[root@a PROGRAM]# curl "http://web_app/index.jsp"
测试结果如下:
常见问题及解决办法:
1、安装PCRE时提示configure: error: You need a C++ compiler for C++ support.
原因是没有安装c++编译器,采用下面的命令安装:
[root@localhost pcre-8.37]# yum install -y gcc gcc-c++
2、启动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的系统,但是默认取了/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
说明缺失的包在lib64
设置软连接来解决:
[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、启动报错:
报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
解决办法:sudo fuser -k 80/tcp
端口被占用,关闭占用端口
希望本文所述对大家CentOS服务器配置有所帮助。
来源:https://blog.csdn.net/hanzheng260561728/article/details/51884108
猜你喜欢
- 如今,互联网将进入一个崭新的阶段,信息化的发展带动其它产业的发展,各行业都将与它进行更深入的融合和渗透。越来越多的企业已开始从对互联网的认知
- 一、您必须有一个属于您自已的域名。比如:abc.com。没有域名的必须先注册一个域名。二、在国际域名中心注册一个DNS域名,以使您的DNS服
- 10月16日消息,据国外媒体报道,谷歌Android智能手机操作系统正在以很快的速度开发。与其它的操作系统相比,虽然Android推出的时间
- 远程网络连接在企业的信息化应用中是一门比较实用的技术。他可以通过各种方式实现,如VPN、远程控制工具等等。不过,远程桌面Web连接也是其中的
- 内容摘要:据网络相关消息,近日北京网监与刑警配合,成功破获一起网络安全公司员工利用黑客手段DDOS攻击,向国内某署名网络游戏服务器发起洪水之
- 本人一个教学资源网站近日很是遭受了垃圾消息的侵扰,今天抽了点时间给留言本加了个验证码,希望能起作用,方法提供如下:(针对新云2.1版本)后台
- 步骤1、mount /dev/sr0 /media/2、安装所需要的软件安装并配置tftp服务yum install tftp tftp-s
- 1、为什么不能配置邮件服务器为open relay的?如果系统管理员将自己的邮件服务器设置为open relay,将会导致一些垃圾邮件发送者
- Exchange Server 2007 日志规则新日志向导日志报告中包括的内容您是否曾经不得不记录您与某位特定用户之间往来的电子邮件,而结
- UCenter Home 2.0后续版本持续改进与创新已经成为广大站长密切关注的话题,为了让广大站长及时了解产品研发动态,下面就简单的为大家
- 最近在看腾讯新闻的时候,无意中发现,当我选中新闻中的文字的时候,鼠标右上角会显示一个“转播至微博”的按钮,点击后就会将选中的文字转发到微博上
- SEO发展到今天,可以说已经有非常多的SEOER涌现,也有越来越多的“准SEOER”正在学习或打算学习SEO技术,那么,是什么导致SEO越来
- CesarFTP是一款非常优秀的免费FTP服务器端软件,虽然它的体积很小,但功能却非常完善。它的安装非常简单,不需要像其它FTP服务器软件那
- 今天上午在整理邮件的时候,看到谷奥的消息“Google Dashboard正式上线”,这样的一款服务
- 今天谈的百度搜索引擎优化,并非传统的百度搜索引擎优化,而是针对百度搜索引擎算法最近调整,侯庆龙分析百度搜索引擎优化总体的分析。百度搜索引擎竞
- 对于很多WordPress新手来说,不懂任何代码的情况下去瞎改WordPress主题,得出的效果往往会出现语法错误之类的东西或效果不尽人意。
- 有很多网站,刚刚一推出,激情万丈,出手豪爽,广告就烧得特别的猛,流量也涨的非常快,但是广告一停,流量就直线下降,郁闷的找不到方向,不知道该如
- 1.域名和空间域名对排名的影响是非常小,但对网站整体来说却是很重要,因为一个好的域名会给我们带来很大流量和知名度,选择的时候,以短小易记为原
- SNMP(Simple Network Management Protocol,简单网络管理协议),用来对通信线路进行管理。在Windows
- 80后的站长有太多的好像,总希望自己网站能在一年或半年就发展大,甚至想一个月就把网站做大,这种急功近利,好高骛远的心态,试问怎么能做出一个好