最MC论坛

标题: CentOS6.5搭建LNMP 组建自己的网站环境吧!搭建高可用群集!(论坛压力大?最近访... [打印本页]

作者: 1748011755    时间: 2016-4-27 05:50
标题: CentOS6.5搭建LNMP 组建自己的网站环境吧!搭建高可用群集!(论坛压力大?最近访...
本帖最后由 1748011755 于 2016-4-27 06:14 编辑

CentOS6.5搭建LNMP  组建自己的网站环境吧!(论坛压力大?最近访问慢!让我教教你如何搭建Nginx群集)
作孽的感觉!zuimc岂能容我放恣??


zuimc大大!你害了我一晚上啊!

一、搭建Nginx
1>.安装Nginx
首先我们查看一下你的环境吧!:
  1. [root@10-4-14-168 html]# cat /etc/redhat-release
复制代码
为了效果,我们关闭防火墙
  1. [root@10-4-14-168 html]# chkconfig iptables off
复制代码
卸载一些系统预装环境,包括ahacpe(有nginx就不需要apache了!如果你会反向代理!可以利用apache解析php等等!)
  1. yum remove httpd -y
  2. yum remove mysql mysql-server -y
  3. yum remove php -y
复制代码
添加CentOS 6.5 第三方yum源(CentOS默认的源里没有nginx软件包,需要自己添加)
  1. wget http://www.atomicorp.com/installers/atomic && sh atomic
复制代码
接下来安装Nginx所需依赖环境包
  1. yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
复制代码
安装Nginx网站
  1. yum install nginx -y
  2. service nginx start
  3. chkconfig --levels 235 nginx on
  4. #设置2、3、5级别开机启动(不明白,可以安装步骤敲键盘)
复制代码
安装数据库Mysql (并发不高!对于几万访问量的小网站!没问题 !如果有条件!想气派一点!可以搭建数据库群集!如果可以!去参数搭建Oracle数据库——我不相信你可以搭建出来
  1. yum install -y mysql mysql-server mysql-devel
  2. service mysqld start
  3. chkconfig --levels 235 mysqld on
复制代码
设置数据库密码123456
  1. mysqladmin -u root password '123456'
复制代码
安装php环境!想搭建动态网站!必须有php环境
  1. yum install -y  php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
复制代码
安装php组建!可以支持mysql,可以解析网站了!支持FASTcgi
  1. yum install -y php-tidy php-common php-devel php-fpm php-mysql
复制代码
备份一份配置文件,方便后续使用
  1. cp -pr  /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bat
复制代码
配置php,支持nginx解析
  1. cgi.fix_pathinfo = 1
复制代码
配置nginx解析php,修改nginx配置文件 vim /etc/nginx/nginx.conf
  1. location ~ \.php$ {
  2.     root           /usr/share/nginx/html;
  3.     fastcgi_pass   127.0.0.1:9000;
  4.     fastcgi_index  index.php;
  5.     fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
  6.     include        fastcgi_params;
  7.         }
复制代码
按照以下内容修改
  1. user  nginx nginx;
  2. worker_processes  1;
  3. events {
  4.     worker_connections  1024;
  5. }
  6. http {
  7.     include       mime.types;
  8.     default_type  application/octet-stream;
  9.     sendfile        on;
  10.     keepalive_timeout  65;
  11.     gzip  on;
  12.     server {
  13.         listen       80;
  14.         server_name  localhost;
  15.         charset utf-8;
  16.         #access_log  logs/host.access.log  main;

  17.         root   /usr/share/nginx/html;
  18.         index  index.html index.htm index.php;

  19.         error_page   500 502 503 504  /50x.html;
  20.         location = /50x.html {
  21.             root   html;
  22.         }
  23.         location ~ \.php$ {
  24.             fastcgi_pass   127.0.0.1:9000;
  25.             fastcgi_index  index.php;
  26.             fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
  27.             include        fastcgi_params;
  28.         }
  29.         location ~ /\.ht {
  30.             deny  all;
  31.         }
  32.     }
  33. }
复制代码
[attach]10691[/attach]





网站目录位于 /usr/share/nginx/html
将网站上传到 /usr/share/nginx/html 下
  1. chown -R nginx:nginx /usr/share/nginx/html
  2. #设置网站目录权限  可读 可写 可修改
  3. chmod -R 777 /usr/share/nginx/html
复制代码
重启服务(如果你按照要求操作!是不会报错的!)
  1. service nginx restart && service php-fpm restart
复制代码
到处!已经完成了网站环境搭建!如果网站可以承载大量访问!速度正常,不需要看下面内容了!

二、搭建Nginx群集  Nginx转发 分发连接! 负载均衡(献给zuimc   开什么玩笑)
1>.Nginx转发要求:

2>.安装Nginx 不需要过多介绍!请按照最上面方法安装即可!不要上传网站!网站是挂在存储上得!不然你网站数据不统一!

1.为每台3台服务器安装Nginx

然后我们复制一份配置文件
  1. cp  -pr /etc/nginx/nginx.conf.bat /etc/nginx/nginx.conf
复制代码
然后修改Nginx前端服务器配置文件!和2台网站后端配置文件
  1. vim /etc/nginx/nginx.conf
复制代码
  1. user  nginx nginx ;
  2. worker_processes  1;
  3. worker_rlimit_nofile 1200;
  4. events {
  5.     worker_connections  1024;
  6. }

  7. http {
  8.     include       mime.types;
  9.     default_type application/octet-stream;
  10.     charset utf-8;
  11.     server_names_hash_bucket_size 128;
  12.     client_header_buffer_size 32k;
  13.     large_client_header_buffers 4 32k;
  14.     client_max_body_size 8m;
  15.         client_body_buffer_size        256k;
  16.         client_header_timeout     3m;
  17.         client_body_timeout 3m;
  18.         send_timeout             3m;
  19.     sendfile on;
  20.     tcp_nopush     on;
  21.     keepalive_timeout 60;
  22.     tcp_nodelay on;
  23.     fastcgi_connect_timeout 300;
  24.     fastcgi_send_timeout 300;
  25.     fastcgi_read_timeout 300;
  26.     fastcgi_buffer_size 64k;
  27.     fastcgi_buffers 4 64k;
  28.     fastcgi_busy_buffers_size 128k;
  29.     fastcgi_temp_file_write_size 128k;
  30.     gzip on;
  31.     gzip_min_length 1k;
  32.     gzip_buffers     4 16k;
  33.     gzip_http_version 1.0;
  34.     gzip_comp_level 2;
  35.     gzip_types       text/plain application/x-javascript text/css application/xml;
  36.     gzip_vary on;
  37.     log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for';

  38.         
  39.         #设置地址池,后端2台服务器
  40.         upstream http_server_pool {
  41.         server 192.168.1.2:80 weight=4 max_fails=2 fail_timeout=30s;
  42.         server 192.168.1.3:80 weight=2 max_fails=2 fail_timeout=30s;
  43.     }
  44.         #weight 优先值
  45.         
  46.         
  47.     #第一个虚拟主机,反向代理http_server_pool这组服务器
  48.         server {
  49.                 listen       80;
  50.                 #监听端口
  51.                 server_name  localhost;
  52.                 #主机名称
  53.                 location / {
  54.                         proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
  55.                         proxy_pass http://http_server_pool;
  56.                         proxy_set_header Host localhost;
  57.                         #主机名称
  58.                         proxy_set_header X-Forwarded-For  $remote_addr;
  59.                 }
  60.                 #access_log  logs/www.xiao.com.access.log  combined;
  61.         }
  62. }
复制代码
2.将2台网站后端 按照以上方法安装好以后!看下面(真气人!为什么我辛辛苦苦写了一晚上的教程!就这样对我!写完发布,结果!东西丢的丢!没的没!害得我重新写!一晚上,7个小时!现在这个教程已经不全面了!上几万字啊!)
#修改2台网站后端
vim /etc/nginx/nginx.conf
#打开配置文件,全部删除!修改成这个样子
  1. user  nginx nginx;
  2. worker_processes  1;
  3. events {
  4.     worker_connections  1024;
  5. }
  6. http {
  7.     include       mime.types;
  8.     default_type  application/octet-stream;
  9.     sendfile        on;
  10.     keepalive_timeout  65;
  11.     gzip  on;
  12.     server {
  13.         listen       80;
  14.         server_name  localhost;
  15.         charset utf-8;
  16.         #access_log  logs/host.access.log  main;

  17.         root   /usr/share/nginx/html;
  18.         index  index.html index.htm index.php;

  19.         error_page   500 502 503 504  /50x.html;
  20.         location = /50x.html {
  21.             root   html;
  22.         }
  23.         location ~ \.php$ {
  24.             fastcgi_pass   127.0.0.1:9000;
  25.             fastcgi_index  index.php;
  26.             fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
  27.             include        fastcgi_params;
  28.         }
  29.         location ~ /\.ht {
  30.             deny  all;
  31.         }
  32.     }
  33. }
复制代码
[attach]10693[/attach]


重启服务!(如果安装要求操作!是不会出问题的!请仔细检查遗喽步骤!)
  1. service nginx restart && service php-fpm restart
复制代码
三、安装MFS存储
1.在存储服务器上安装存储 并将存储挂载到网站服务器上!
下载mfs包,编译安装(不要感觉陌生!不尝试!你知道你不行吗!一步步跟我来!
[attach]10694[/attach]

首先,在你所有上,上传MFS编译安装包 上传到/home目录下!(打马赛克的包!是担心会误导你们!所以打马赛克!忽略马赛克的存在!home里面只有一个包!)
[attach]10695[/attach]


开始安装依赖环境
  1. yum -y install zlib-devel gcc make
复制代码
开始解压
  1. cd /usr/local/src/
  2.     cp -pr /home/*.gz ./
  3.     tar zxvf mfs-1.6.27-5.tar.gz
  4.     cd mfs-1.6.27
复制代码
创建程序用户
  1. groupadd mfs
  2.     useradd -s /sbin/nologin -g mfs mfs
复制代码
master配置主节点
  1. ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --mandir=/usr/share/man/
复制代码
master编译主节点
  1. make
复制代码
master安装主节点
  1. make install
复制代码
创建主节点配置文件
  1. cp -pr /usr/local/mfs/etc/mfs/mfsmaster.cfg.dist /usr/local/mfs/etc/mfs/mfsmaster.cfg
  2.         cp -pr /usr/local/mfs/etc/mfs/mfsexports.cfg.dist /usr/local/mfs/etc/mfs/mfsexports.cfg
  3.         cp -pr /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs
  4.         cp -pr /usr/local/mfs/etc/mfs/mfstopology.cfg.dist /usr/local/mfs/etc/mfs/mfstopology.cfg
复制代码
修改主节点配置文件
  1. echo 'DATA_PATH = /usr/local/mfs/var/mfs'&>>/usr/local/mfs/etc/mfs/mfsmaster.cfg
复制代码
启动主节点
  1. /usr/local/mfs/sbin/mfsmaster
复制代码
到这里!已经完成了主节点的安装!这个存储服务器暂时不能提供存储功能!你需要安装存储节点

2.开始安装存储节点---存储块 (不要离开当前服务器!继续操作,当然!如果你够有钱!可以在准备七八台左右服务器作为存储块,单独安装存储节点)
安装依赖环境
  1. yum -y install zlib-devel gcc make
复制代码
记得上传MFS编译安装
解压MFS编译安装
  1. cd /usr/local/src/
  2. #提示是否覆盖!输入y
  3. cp -pr /home/*.gz ./
  4. tar zxvf mfs-1.6.27-5.tar.gz
  5. cd mfs-1.6.27
复制代码
创建程序用户
  1. groupadd mfs
  2. #已经创建用户!所以会报错!忽略
  3. useradd -s /sbin/nologin -g mfs mfs
  4. cd /usr/local/src/mfs-1.6.27
复制代码
配置存储块(存储节点
  1. ./configure --prefix=/usr/local/mfsd --with-default-user=mfs --with-default-group=mfs \--disable-mfsmaster --disable-mfsmount --disable-mfscgi --disable-mfscgiserv --mandir=/usr/share/man/
复制代码
编译存储块(存储节点
  1. make
复制代码
安装存储块(存储节点
  1. make install
复制代码
配置存储块(存储节点
  1. cp -pr /usr/local/mfsd/etc/mfs/mfschunkserver.cfg.dist /usr/local/mfsd/etc/mfs/mfschunkserver.cfg
  2.         cp -pr /usr/local/mfsd/etc/mfs/mfshdd.cfg.dist /usr/local/mfsd/etc/mfs/mfshdd.cfg
复制代码
创建存储区!存储块(存储节点
  1. mkdir /cunc
  2.         chown -R mfs:mfs /cunc
  3.         chmod -R 777 /cunc
复制代码
配置配置文件!存储块(存储节点
  1. echo '/cunc'&>>/usr/local/mfsd/etc/mfs/mfshdd.cfg
  2. #一定是你的IP,不能是127开头
  3.         echo 'MASTER_HOST = 192.168.6.129'&>>/usr/local/mfsd/etc/mfs/mfschunkserver.cfg
复制代码
启动主节点,启动存储块(存储节点
  1. /usr/local/mfs/sbin/mfsmaster
复制代码
存储已经配置完成!如果你想让空间大一点!那就把你所有服务器安装存储块,加入存储!(启动成功是这个样子的!)
[attach]10696[/attach]


3.挂载存储设备!提供网站支持!(请将网站上传存储啊!千万不要上传到Nginx服务器上!我看看谁上传到Nginx上了!请留言 --->此人必定是二百五<---

太累了!我今晚又没有睡觉!-------滑一滑---->zuimc 你是不是叼!想打架找我来!你害得我一整晚没有睡觉!

分别在Nginx服务器上(2台网站后端)安装客户端!
安装mfs客户端!挂载存储(此操作在2台网站后端完成!主要是给网站挂载存储!可以理解为挂载分区!
  1. yum -y install zlib-devel gcc make         fuse fuse-devel
复制代码
解压MFS编译安装包
  1. cd /usr/local/src/
  2.     cp -pr /home/*.gz ./
  3.     tar zxvf mfs-1.6.27-5.tar.gz
  4.     cd mfs-1.6.27
复制代码
创建程序用户
  1. groupadd mfs
  2.     useradd -s /sbin/nologin -g mfs mfs
复制代码
配置客户端
  1. ./configure --prefix=/usr/local/mfsc --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --disable-mfscgi --disable-mfscgiserv --mandir=/usr/share/man
复制代码
编译客户端
  1. make
复制代码
安装客户端
  1. make install
复制代码
为网站挂载存储设备
  1. /usr/local/mfsc/bin/mfsmount /usr/share/nginx/html  -H 192.168.6.129
复制代码
如何上传?还记不记得这个命令了(/usr/local/mfsc/bin/mfsmount /usr/share/nginx/html -H 192.168.6.129)你挂载到了2台nginx服务器上!只要ftp登陆一台就够了!然后上传!另一台服务器可以看到你上传的资源!这就是存储!MFS面向中小型企业的!还有NFS存储!MFS存储更好!
[attach]10697[/attach]

MFS包括:
master(主节点)
metalogger(日志节点  不要小看他)
chunkserver(存储块)
MFS client (客户端)
MFS存储提供可视化WEB监控界面!需要在主节点上开启相关服务!
  1. /usr/local/mfs/sbin/mfscgiserv
复制代码
[attach]10698[/attach]


让我们看看监控吧!(有一块存储块)

[attach]10699[/attach]


[attach]10700[/attach]


[attach]10701[/attach]


[attach]10702[/attach]


[attach]10703[/attach]

他在不停的向前走





作者: happyvalley_lmx    时间: 2016-4-27 20:53
dalao受我一拜
作者: EDC    时间: 2016-4-27 21:13
这些我都不懂,所以我只关心zuimc到底做了什么
作者: 1748011755    时间: 2016-5-3 14:24
EDC 发表于 2016-4-27 21:13
这些我都不懂,所以我只关心zuimc到底做了什么

好像看不见zuimc了!
作者: 9imc    时间: 2016-5-4 17:13
完全看不懂 好6的感觉




欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2