CentOS6.5环境安装nginx服务器及负载均衡配置操作详解

本文实例讲述了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服务器配置有所帮助。

您可能感兴趣的文章:

  • CentOS6.5环境下使用rsync增量同步备份文件的方法
  • CentOS Rsync服务端与Windows cwRsync客户端实现数据同步配置方法
  • CentOS 6.3 Rsync客户端与Win2003 cwRsyncServer服务端实现数据同步
  • Centos rsync文件同步配置步骤分享
  • CentOS5 + rsync 同步2台服务器的文件
  • CentOS6.5系统简单安装与配置Nginx服务器的方法
  • CentoS6.5环境下redis4.0.1(stable)安装和主从复制配置方法
  • CentOS6.5服务器环境安装VPN的方法
  • CentOS6.5平台上rsync服务器安装配置方法简述
(0)

相关推荐

  • Centos rsync文件同步配置步骤分享

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync 它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬链接等等. 无须特殊权限即可安装. 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽. 安全:可以使用scp.ssh等方式来传输文件,当然也可以通过直接的socket连接. 支持匿名传输,以方

  • CentOS6.5系统简单安装与配置Nginx服务器的方法

    本文实例讲述了CentOS6.5系统简单安装与配置Nginx服务器的方法.分享给大家供大家参考,具体如下: 依赖包安装 在安装nginx前,需要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件.安装必须软件: [root@admin /]#yum install gcc-c++ yum -y install zlib zlib-devel openssl openssl--devel pcrepcre-devel 检查系统安装的Nginx:

  • CentOS5 + rsync 同步2台服务器的文件

    Always use rsync over ssh Since rsync does not provide any security while transferring data it is recommended that you use rsync over ssh . This allows a secure remote connection. Now let us see some examples of rsync. rsync command common options --

  • CentOS6.5平台上rsync服务器安装配置方法简述

    本文实例讲述了CentOS6.5平台上rsync服务器安装配置方法.分享给大家供大家参考,具体如下: rsync安装 # 检查是否安装过rsync, 如果已经安装过需要卸载 rpm -qa|grep rsync # 安装了rsync 卸载 rpm -e rsync # 下载最新rpm包(注意操作系统和位数的匹配) # rsync的rpm包列表地址:http://pkgs.repoforge.org/rsync wget http://pkgs.repoforge.org/rsync/rsync-

  • CentOS6.5环境下使用rsync增量同步备份文件的方法

    本文实例讲述了CentOS6.5环境下使用rsync增量同步备份文件的方法.分享给大家供大家参考,具体如下: rsync是linux下一款文件同步工具,介绍如下: Rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync本来是用以取代rcp的一个工具,它当前由 rsync.samba.org维护.Rsync使用所谓的"Rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.运行

  • CentOS Rsync服务端与Windows cwRsync客户端实现数据同步配置方法

    说明: 1.Rsync服务端 系统:CentOS 5.5 IP地址:192.168.21.160 数据存放目录:/data/osyunwei 2.cwRsync客户端 系统:Windows Server 2003 IP地址:192.168.21.130 同步的目录:D:\osyunwei 实现目的: cwRsync客户端每天凌晨3:00钟自动同步Rsync服务端/data/osyunwei目录中的数据到D:\osyunwei目录 一.Rsync服务端配置 1.关闭SELINUX vi /etc/

  • CentoS6.5环境下redis4.0.1(stable)安装和主从复制配置方法

    本文实例讲述了CentoS6.5环境下redis4.0.1(stable)安装和主从复制配置方法.分享给大家供大家参考,具体如下: 依赖环境 Centos 6.5 gcc-4.4.7:编译redis原文件 tcl-8.5.7:运行编译检测 1.编译redis #cd /usr/local #tar -zxvf redis-4.0.1.tar.gz #mv redis-4.0.1 redis #cd redis #make 运行编译测试make test需要tcl-8.5及以上 #yum inst

  • CentOS 6.3 Rsync客户端与Win2003 cwRsyncServer服务端实现数据同步

    说明: 1.cwRsyncServer服务端 系统:Windows Server 2003 IP地址:192.168.21.134 数据存放目录:D:\osyunwei 2.Rsync客户端 系统:CentOS 6.3 IP地址:192.168.21.132 同步的目录:/osyunwei 实现目的: Rsync客户端每天凌晨3:00自动同步cwRsyncServer服务端D:\osyunwei目录中的数到/osyunwei目录 一.cwRsyncServer服务端配置 附件: cwRsyncS

  • CentOS6.5服务器环境安装VPN的方法

    本文实例讲述了CentOS6.5服务器环境安装VPN的方法.分享给大家供大家参考,具体如下: 检测PPP是否开启 #cat /dev/ppp 出现cat: /dev/ppp: No such device or address表示可以继续 安装ppp.pptpd #yum install ppp pptpd #vi /etc/pptpd.conf 在最后添加 localip 172.16.0.1 remoteip 172.16.0.234-238,172.16.0.245 保存退出 #vi /e

  • CentOS6.5环境安装nginx服务器及负载均衡配置操作详解

    本文实例讲述了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 d

  • Windows下Apache+Tomcat7负载均衡配置方法详解

    准备工作 Windows Server 2008 R2 Enterprise(2.40GH,8GB,64Bit,192.168.10.212) 2台Ubuntu 10.04.4(192.168.10.98,192.168.10.137) JDK1.7.80 Tomcat7.0.68 Apache2.4.4 1.安装Apache2.4.4 安装过程中没什么注意事项,一直Next就行了.安装完成后默认开启Apache服务,可以在浏览器上输入localhost或者127.0.0.1,这时候会出现It

  • Nginx服务器中的GZip配置参数详解

    gzip(GUN-ZIP)是一种压缩技术,经过gzip压缩后的页面大小可以变成原来的30%或者更小. 用户浏览页面的时候速度也会更快,gzip的压缩页面需要服务端于浏览器同时支持,服务端压缩传到 浏览器进行解压并解析,现在大多数的浏览器都已经支持解析gzip过的页面 gzip使用环境:http,server,location,if(x),一般我把它定义在nginx.conf的http{-..}之间 gzip on; 开启gzip  off关闭 gzip_min_length 1k; 设置允许压缩

  • Linux 系统 nginx 服务器安装及负载均衡配置详解

    nginx(engine x) 是一个 高性能 的 HTTP 和 反向代理 服务器.邮件代理服务器以及通用的 TCP/UDP 代理服务器.其特点为轻量级(占用系统资源少).稳定性好.可扩展性(模块化结构).并发能力强.配置简单等. 本文主要介绍在测试环境中通过 nginx 实现基本的 负载均衡 功能. nginx 可以提供 HTTP 服务,包括处理静态文件,支持 SSL 和 TLS SNI.GZIP 网页压缩.虚拟主机.URL 重写等功能,可以搭配 FastCGI.uwsgi 等程序处理动态请求

  • nginx七层负载均衡配置详解

    目录 一.负载均衡介绍 二.nginx下载安装 1.下载nginx源码包 2.安装并启用 三.nginx七层负载均衡配置 real server设置: 客户端设置: 四.nginx扩充调度算法(sticky) 1.下载扩展包 2.编译前做一些优化: 3.重新编译 一.负载均衡介绍 1)四层负载均衡 所谓四层就是基于IP+端口的负载均衡 四层负载均衡,是指OSI七层模型中的传输层,传输层已经支持TCP/IP的控制,所以只需要对客户端的请求进行TCP/IP协议的包转发就可以实现负载. 2)七层负载均

  • Nginx服务器做负载均衡反向代理的超级攻略

    nginx 做反向代理时,后端主机有多台,可以使用 upstream 定义一个后端主机池,在反向代理时直接使用主机池的名字.在 upstream 中可以定义负载均衡调度算法,权重,健康状态检测等参数. 例如: upstream backend { server 172.16.0.1:80 weight=1 max-fails=3 fail_timeout=10; server 172.16.0.2:80 weight=1max-fails=3 fail_timeout=10;; } 默认请求下,

  • Nginx + consul + upsync 完成动态负载均衡的方法详解

    前置知识 DNS域名解析过程 在浏览器输入域名,访问后 在浏览器缓存中查找是否有对应的ip和端口,如果有直接访问对应ip和端口 浏览器缓存中没有则在本地host文件中查找是否有对应的~~ 本地host文件中没有则去DSN服务器上查找 外网映射 顾名思义,就是将本地的ip地址,映射出一个公网ip,可以供所有主机(连接到互联网的计算机)访问 疑问:为什么需要使用外网映射 例如做微信支付时的第三方接口回调,微信回调你的接口必须是一个公网ip地址,不然他根本无法给你回调,导致你本地无法测试.这个时候你就

  • Nginx 简单的负载均衡配置示例

    用户访问http://www.net-hb.com.cn,将其负载均衡到192.168.1.2:80.192.168.1.3:80.192.168.1.4:80.192.168.1.5:80四台服务器. 用户访问http://www.jb51.net,将其负载均衡到192.168.1.7服务器的8080.8081.8082端口. 以下为配置文件nginx.conf: 引用 [table=95%][tr][td]user www www; worker_processes 10; #error_l

  • Django高并发负载均衡实现原理详解

    1 什么是负载均衡? 当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能.那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理. 那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡问题. 下面详细介绍负载均衡的四种实现方式 2 HTTP重定向实现负载均衡 过程描述 当用户向服务器发起请求时,请求首先

  • apache2服务器的搭建和配置步骤详解

    前言 这篇文章主要给大家介绍了在linux下apache2服务器的搭建和配置的相关资料,具有一定的参考价值,下面来一起学习学习吧. 步骤如下 首先当然是下载包包: myths@myths-X450LD:~$ sudo apt-get install apache2 装完后就可以用了,在地址栏输入本地回送地址127.0.0.1或者localhost就可以进入到默认的界面了. 默认的界面当然就是apache2的说明界面了.其实很多情况下并不需要在网上寻找帮助文档,几乎所有的软件都会自带使用说明,只是

随机推荐