收藏 分销(赏)

互联网综合项目系统软件集成解决专项方案.docx

上传人:二*** 文档编号:4764975 上传时间:2024-10-12 格式:DOCX 页数:41 大小:111.06KB 下载积分:5 金币
下载 相关 举报
互联网综合项目系统软件集成解决专项方案.docx_第1页
第1页 / 共41页
本文档共41页,全文阅读请下载到手机保存,查看更方便
资源描述
互联网项目系统软件集成处理方案 目录 前言 3 Nginx安装 4 Nignx下载 4 Nginx安装 4 JDK安装 5 Tomcat安装 6 Memecached安装 6 第一步安装libevent 7 第二部安装memcached 8 第三步启动并检测memcached 10 配置Nginx+Tomcat集群实现负载均衡 10 Tomcat集群配置 11 Nginx配置 12 Tomcat实现session同步 16 Tomcat调用memcached配置 18 优化linux内核 19 测试Nginx下Tomcat实现session同步 19 MySQL集群 20 管理节点(MGM)的安装及配置 21 存储节点(NDB)的安装及配置 22 负载均衡 23 序言 本文关键目标是经过对下面所列出软件进行合理配置和合理使用来处理互联网项目中怎样提升应用系统平台高可用性及稳定性。 本文中关键应用软件为: Nginx负载均衡 Tomcat应用服务器 Memcached缓存服务器 Mysql数据库 相关插件: JDK Libevent Pcre msm Heartbeat Ldirectord 假如说单纯根据本文档操作配置实现了负载均衡及集群,大大提升了系统高可用性及系统性能就算完成任务,那么就失去了文档本身意义。本文档所列内容只是高可用系统一个基础,只是基于怎样去搭建高可用平台,同时也只是运维工作一个开始。 系统7*二十四小时高可用并不只是一套高可用软件集成,而是在这个基础上怎样去维护它。我们能够经过一套完整运维管理制度去约束运维团体进行细致工作,对任何出现系统问题进行分析及处理。对于运维工程师能够不停去探索怎样去监控并合理利用网络资源;怎样去监控并合理使用服务器及存放硬件资源;怎样去深度发掘上述软件更多使用奥妙及大胆尝试新软件及技术;怎样去对程序进行监控,和研发团体紧密沟通提升代码性能;怎样去对数据库进行监控并优化,大大提升数据存放及读取效率等等。 意在不忽略运维工作中每个细节,虑小患而治大忧,这么才能最大程度确保系统稳定性,7*二十四小时不间断提供服务,为企业经过互联网平台不停获益提供保障。 本文档参考了大量文件,最终整合在一起,期望对从事系统运维工作好友带来部分帮助。有愿意深入进行技术交流大家能够mail我:。有不足地方也期望大家多多指出。 Nginx安装 本文以nginx-0.7.67为例,到官网,以0.7.67版本为例。 Nignx下载 [root@localhost ~]# wget ---09-24 14:48:12-- Resolving nginx.org... 81.19.68.137 Connecting to nginx.org|81.19.68.137|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 608462 (594K) [application/octet-stream] Saving to: `nginx-0.7.67.tar.gz' 100%[<========================================>] 608,462 44.5K/s in 18s -09-24 14:48:32 (32.8 KB/s) - `nginx-0.7.67.tar.gz' saved [608462/608462] Nginx安装 解压压缩文件 [root@localhost ~]# tar -zxvf nginx-0.7.67.tar.gz 进入安装文件目录 [root@localhost ~]# cd nginx-0.7.67 指定安装到 [root@localhost nginx-0.7.67]# ./configure –prefix=/usr/local/nginx /usr/local/nginx目录下,可用./configure –help查看需要哪些编译参数 编译 [root@localhost nginx-0.7.67]#make 安装 [root@localhost nginx-0.7.67]#make install 查看是否安装成功 [root@localhost nginx-0.7.67]# ll /usr/local/nginx/ drwxr-xr-x 2 root root 4096 Sep 24 15:12 conf drwxr-xr-x 2 root root 4096 Sep 24 15:12 html drwxr-xr-x 2 root root 4096 Sep 24 15:12 logs drwxr-xr-x 2 root root 4096 Sep 24 15:12 sbin 测试Nginx配置文件是否正确 [root@localhost nginx-0.7.67]#/usr/local/nginx/sbin/nginx –t 开启Nginx [root@localhost nginx-0.7.67]#/usr/local/nginx/sbin/nginx 下面验证Nginx是否正常开启,浏览器中输入nginx服务器地址,出现以下图说明nginx正常工作。 JDK安装 赋权实施权限给JDK*.bin # chmod u+x JDK*.bin 运行JDK安装包 # ./JDK*.bin 创建指定jdk文件路径 # mkdir /usr/java -pv 将jdk移动到指定路径,依据实际情况进行配置 # mv jdk* /usr/java 申明Java环境变量 修改/etc/profile文件,增加JAVA_HOME,JRE_HOME,PATH,CLASSPATH属性 # vi /etc/profile export JAVA_HOME=/jdk路径 如export JAVA_HOME=/root/jdk1.6.0_18 export JRE_HOME=/jre路径 如export JRE_HOME=/root/jdk1.6.0_18/jre export PATH=/java/bin路径 如export PATH=/root/jdk1.6.0_18/bin export CLASSPATH=/java/../lib路径 如export CLASSPATH=./:/usr/jdk1.6.0_18/lib:/usr/jdk1.6.0_18/jre/lib 保留并退出。 运行./etc/profile使环境变量生效。 也能够使用echo $PATH看是否包含添加路径。 运行命令: # java -version 若出现以下信息则证实java运行成功 java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing) Tomcat安装 安装Tomcat安装包到/usr/local目录下实施以下命令: 解压tomcat # tar xf apache-Tomcatt*.tar.gz -C /usr/local 建立连接符,依据实际情况配置 # ln -sv apache-Tomcat* tomcat # cd tomcat 修改/etc/profile文件,导入tomcat目录,申明环境变量 加入以下两条命令: export CATALINA_HOME=/usr/local/tomcat echo $CATALINA_HOME 赋权实施权限给catalina.sh和startup.sh # chmod u+x catalina.sh # chmod u+x startup.sh 手动开启tomcat # bin/catalina.sh start 或 # bin/startup.sh 在用户端验证toncat是否安装成功,默认端口为8080。 访问http://service_IP:8080 Memecached安装 下载 Memcache : Memcache用到了libevent这个库用于Socket处理,所以还需要安装libevent。 下载 libevent: http:// .org/~provos/libevent-1.4.14b-stable.tar.gz 第一步安装libevent 先安装libevent: 解压软件包 # tar zxvf libevent-1.4.14b-stable.tar.gz 路径跳转 # cd libevent-1.4.14b-stable 配置安装路径 # ./configure --prefix=/usr 编译 # make 安装 # make install 假如安装过程中,发觉提醒: configure: error: no acceptable C compiler found in $PATH 需要安装C compiler,安装方法: 在Linux环境下只要能链接Internet就能够经过当地yum源来安装,在终端下输入 # yum install gcc 就能够,自动安装。安装时候需确保linux能够上网,因为需要网上下载安装包。 然后看看我们libevent是否安装成功: 实施命令: # ls -al /usr/lib | grep libevent lrwxrwxrwx    1 root   root          21 3月  2 13:17 libevent-1.4.so.2 -> libevent-1.4.so.2.1.2 -rwxr-xr-x    1 root   root      280215 3月  2 13:17 libevent-1.4.so.2.1.2 -rw-r--r--    1 root   root      367094 3月  2 13:17 libevent.a lrwxrwxrwx    1 root   root          26 3月  2 13:17 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.2 -rwxr-xr-x    1 root   root      107511 3月  2 13:17 libevent_core-1.4.so.2.1.2 -rw-r--r--    1 root   root      146924 3月  2 13:17 libevent_core.a -rwxr-xr-x    1 root   root         860 3月  2 13:17 libevent_core.la lrwxrwxrwx    1 root   root          26 3月  2 13:17 libevent_core.so -> libevent_core-1.4.so.2.1.2 lrwxrwxrwx    1 root   root          27 3月  2 13:17 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.2 -rwxr-xr-x    1 root   root      219655 3月  2 13:17 libevent_extra-1.4.so.2.1.2 -rw-r--r--    1 root   root      281482 3月  2 13:17 libevent_extra.a -rwxr-xr-x    1 root   root         867 3月  2 13:17 libevent_extra.la lrwxrwxrwx    1 root   root          27 3月  2 13:17 libevent_extra.so -> libevent_extra-1.4.so.2.1.2 -rwxr-xr-x    1 root   root         825 3月  2 13:17 libevent.la lrwxrwxrwx    1 root   root          21 3月  2 13:17 libevent.so -> libevent-1.4.so.2.1.2 出现以上提醒则证实libevent安装完成。 第二部安装memcached 解压软件包 # tar zxvf memcached-1.4.5.tar.gz 跳转到指定路径 # cd memcached-1.4.5 配置安装路径 # ./configure --with-libevent=/usr 编译 # make 安装 # make install 假如中间出现报错,请仔细检验错误信息,根据错误信息来配置或增加对应库或路径。 安装完成后会把memcached放到 /usr/local/bin/memcached 。 我们看以下是否安装了: # ls -al /usr/local/bin/mem* -rwxr-xr-x 1 root root 121249 3月 2 13:23 /usr/local/bin/memcached -rwxr-xr-x 1 root root 130179 3月 2 13:23 /usr/local/bin/memcached-debug 安装完成后,现在我们看以下memcache帮助: # /usr/local/bin/memcached -h 出现:error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 原因是找不到libevent-1.4.so.2类库。 处理措施以下: 使用LD_DEBUG=help ./memcached -v来确定加载类库路径。 方法以下: # LD_DEBUG=libs ./memcached -v 2>&1 > /dev/null | less 则系统会显示: linux:/local/memcached/bin # LD_DEBUG=libs ./memcached -v 2>&1 > /dev/null | less      20421:     find library=libevent-1.4.so.2; searching      20421:      search cache=/etc/ld.so.cache      20421:      search path=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2:/lib:/usr/lib/tls/i686 /sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr/lib/i686:/usr/lib/sse2:/usr/lib          (system search path)      20421:       trying file=/lib/tls/i686/sse2/libevent-1.4.so.2      20421:       trying file=/lib/tls/i686/libevent-1.4.so.2      20421:       trying file=/lib/tls/sse2/libevent-1.4.so.2      20421:       trying file=/lib/tls/libevent-1.4.so.2      20421:       trying file=/lib/i686/sse2/libevent-1.4.so.2      20421:       trying file=/lib/i686/libevent-1.4.so.2      20421:       trying file=/lib/sse2/libevent-1.4.so.2      20421:       trying file=/lib/libevent-1.4.so.2      20421:       trying file=/usr/lib/tls/i686/sse2/libevent-1.4.so.2      20421:       trying file=/usr/lib/tls/i686/libevent-1.4.so.2      20421:       trying file=/usr/lib/tls/sse2/libevent-1.4.so.2      20421:       trying file=/usr/lib/tls/libevent-1.4.so.2      20421:       trying file=/usr/lib/i686/sse2/libevent-1.4.so.2      20421:       trying file=/usr/lib/i686/libevent-1.4.so.2      20421:       trying file=/usr/lib/sse2/libevent-1.4.so.2      20421:       trying file=/usr/lib/libevent-1.4.so.2      20421:    ./memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 我们看到,memcached会到很多地方去找,所以依据其它求,我们只需建一个软链接,指定到我们安装类库上即可 方法以下: # ln -s /usr/local/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2 再测试是否安装成功: # /usr/local/bin/memcached -h memcached 1.2.6 -p <num> TCP port number to listen on (default: 11211) -U <num> UDP port number to listen on (default: 0, off) -s <file> unix socket path to listen on (disables network support) -a <mask> access mask for unix socket, in octal (default 0700) -l <ip_addr> interface to listen on, default is INDRR_ANY -d run as a daemon -r maximize core file limit -u <username> assume identity of <username> (only when run as root) -m <num> max memory to use for items in megabytes, default is 64 MB -M return error on memory exhausted (rather than removing items) -c <num> max simultaneous connections, default is 1024 -k lock down all paged memory. Note that there is a limit on how much memory you may lock. Trying to allocate more than that would fail, so be sure you set the limit correctly for the user you started the daemon with (not for -u <username> user; under sh this is done with 'ulimit -S -l NUM_KB'). -v verbose (print errors/warnings while in event loop) -vv very verbose (also print client commands/reponses) -h print this help and exit -i print memcached and libevent license -b run a managed instanced (mnemonic: buckets) -P <file> save PID in <file>, only used with -d option -f <factor> chunk size growth factor, default 1.25 -n <bytes> minimum space allocated for key+value+flags, default 48 出现上面描述,表示安装成功。 第三步开启并检测memcached 开启一个Memcache服务器端: # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.173 -p 1 -c 256 -P /tmp/memcached.pid 相关参数 -d选项是开启一个守护进程。 -m是分配给Memcache使用内存数量,单位是MB,我这里是10MB。 -u是运行Memcache用户,我这里是root。 -l是监听服务器IP地址,假如有多个地址话,我这里指定了服务器IP地址127.0.0.1。 -p是设置Memcache监听端口,我这里设置了1,最好是1024以上端口。 -c选项是最大运行并发连接数,默认是1024,我这里设置了256,根据你服务器负载量来设定。 -P是设置保留Memcachepid文件,我这里是保留在/tmp/memcached.pid。 假如要结束Memcache进程,实施: # kill -9 `cat /tmp/memcached.pid` 也能够开启多个守护进程,不过端口不能反复。 用 netstat -lp|grep memcached 命令能够查看 memcached 是否已经开启: # netstat -lp|grep memcached tcp 0 0 127.0.0.1:1 *:* LISTEN 9037/memcached udp 0 0 127.0.0.1:1 *:* 9037/memcached 说明 memcached 正在运行。 配置Nginx+Tomcat集群实现负载均衡 因为我们需要实现tomcat负载均衡,而且在多台用于运行tomcat服务器和每台服务器上同时运行多个tomcat服务,故以下我们以一台服务器上运行多个tomcat服务举例进行说明,对于多台服务器操作方法类似,只是需要注意IP地址及端口使用及合理计划即可。 Tomcat集群配置 以下为我们以一台服务上同事运行两个tomcat服务为例进行具体说明。 安装了两个tomcat,解压tomcat到/usr/local/tomcat1和/usr/local/tomcat2。 分别进入/usr/local/tomcat1/bin和/usr/local/tomcat2/bin。 目录实施命令: 设置实施权限 # chmod u+x *.Sh 修改tomcat1下conf中server.xml <!--Server port="8005"需要修改,确保唯一性,能够设置为9011、9012、9021、9022--> <Server port="9011" shutdown="SHUTDOWN"> <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <!--Connector port="8080"需要修改,确保唯一性,能够设置为8011、8012、8021、8022--> <Connector port="8011" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="0" disableUploadTimeout="true" /> <!-- Define an AJP 1.3 Connector on port 8009 --> <!--Connector port="8009"需要修改,确保唯一性,能够设置为8111、8112、8121、8122--> <Connector port="8111" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> 修改tomcat1下bin中startup.sh和shutdown.sh添加以下内容 export JAVA_HOME=/usr/local/java1.5.0_09 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=$JAVA_HOME/lib export CATALINA_HOME=$CATALINA_HOME_1 export CATALINA_BASE=$CATALINA_BASE_1 修改tomcat2下conf中server.xml <!--Server port="8005"需要修改,确保唯一性,能够设置为9011、9012、9021、9022--> <Server port="9012" shutdown="SHUTDOWN"> <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <!--Connector port="8080"需要修改,确保唯一性,能够设置为8011、8012、8021、8022--> <Connector port="8012" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="0" disableUploadTimeout="true" /> <!-- Define an AJP 1.3 Connector on port 8009 --> <!--Connector port="8009"需要修改,确保唯一性,能够设置为8111、8112、8121、8122--> <Connector port="8112" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> 修改tomcat2下bin中startup.sh和shutdown.sh添加以下内容 export JAVA_HOME=/usr/local/java1.5.0_09 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=$JAVA_HOME/lib export CATALINA_HOME=$CATALINA_HOME_2 export CATALINA_BASE=$CATALINA_BASE_2 修改profile配置文件 vi /etc/profile 配置系统变量,打开后添加以下内容: CATALINA_BASE_1=/usr/local/tomcat1 CATALINA_HOME_1=/usr/local/tomcat1 export CATALINA_BASE_1 CATALINA_HOME_1 TOMCAT_HOME_1=/usr/local/tomcat1 export TOMCAT_HOME_1 CATALINA_BASE_2=/usr/local/tomcat2 CATALINA_HOME_2=/usr/local/tomcat2 export CATALINA_BASE_2 CATALINA_HOME_2 TOMCAT_HOME_2=/usr/local/tomcat2 export TOMCAT_HOME_2 设置tomcat随系统开启 vi /etc/rc.d/rc.local 添加以下内容 /usr/local/tomcat1/bin/startup.sh /usr/local/tomcat2/bin/startup.sh 保留退出,logout 注销一下 分别进入/usr/local/tomcat1/bin和/usr/local/tomcat2/bin目录实施./startup.sh 访问http://IP:8011/和http://IP:8012/看是否能够看到tomcat欢迎界面 Nginx配置 安装nginx,在安装nginx之前需要先安装所需pcre库 以nginx-0.7.60-linux及pcre-7.8为例,解压我们下载pcre-7.8.tar.gz 解压pcre # tar zxvf pcre-7.8.tar.gz # cd pcre-7.8 配置pcre # ./configure 编译 # make 安装 # make install 安装完成。 # tar zxvf nginx-0.7.60-linux.tar.gz # ./configure--user=www--group=www--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module 创建代理文件 vi /usr/local/nginx/conf/proxy.conf 输入以下内容 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 600; proxy_read_timeout 600; proxy_send_timeout 600; proxy_buffer_size 8k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; 保留退出。 编辑nginx.conf文件 vi /usr/local/nginx/conf/nginx.conf 修改以下 #运行用户 #user nobody; #启用进程 worker_processes 8; #全局错误日志和pid error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; pid logs/nginx.pid; #工作模式及连接数上限 worker_rlimit_nofile 51200; events { worker_connections 51200; } #配置http已经反向代理做负载均衡 http { include mime.types; default_type application/octet-stream; include proxy.conf; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_refere
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服