centos 7nginx搭建tomcat集群nginx集群

博客访问: 140667
博文数量: 101
注册时间:
认证徽章:
冰冻三尺非一日之寒,滴水穿石非一日之功。
发布时间: 18:52:09
nginx官网介绍配置安装:http://nginx.org/en/docs/configure.html &一、安装nginx依赖的软件 nginx是C写的,需要用GCC编译;nginx中的rewrite module需要PCRE;nginx中的gzip module需要zlib;nginx中的HTTP SSL module需要OpenSSL。&已安装的GCC版本信息如下: &[root@VM.........
阅读(545) | 评论(0) | 转发(0)
发布时间: 09:45:00
本文转载自:http://www.cnblogs.com/liwei0526vip/p/6370103.html & 作者:liwei0526vip&负载均衡集群是 loadbalance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习 LVS 并对其进行了详细的总结记录.........
阅读(210) | 评论(0) | 转发(0)
发布时间: 12:02:53
很多时候我们的系统部署在Linux系统上面,在一些情况下定位问题就需要查看各个系统之间发送数据报文是否正常,下面就简单讲解一下如何使用wireshark分析tcpdump抓取的数据包。网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。 &.........
阅读(336) | 评论(0) | 转发(0)
发布时间: 13:14:40
一、什么是bond? 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。kernels2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。 & 二、bond的配置实例 1、测试环境 [root@wjq2~]# cat/etc/redhat-release
阅读(1353) | 评论(1) | 转发(1)
发布时间: 22:00:47
在Linux上配置multipath,在HP EVA存储上划分一个100G大小的LUN,然后把它映射给Linux主机,将该100G空间使用fdisk进行分区,分为3个区(关于Linux multipath多路径配置与使用案例请参考作者的另一篇博文:http://blog.itpub.net//viewspace-2146732/) & [root@seaing mapper]# cat/proc/partitio.........
阅读(274) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
请登录后留言。Hi,为确保您的账号安全,请大家修改登陆密码为包含大小写字母、标点、数字的复合密码,不要使用过于简单的登陆密码。
您当前的位置:&::&
CentOS7下安装Nginx(nginx/1.12.0)+php(5.6.30)+myql(5.7)环境搭建
最近新买了一台服务器准安装LNMP环境,该文章适合菜鸟或新手,大神请勿喷,本文说的都是安装最新版的,不一定非要安装本文的版本,其他版也同样。
在安装之前我们先做一下准备工作,首先说说安装顺序问题,我的安装顺序是mysql-&php-&nginx,当然这个顺序并不强烈邀请,不过按我的这个顺序免得出现意向不到的错误。
一,安装mysql
安装mysql我们是采用官网给的yum安装源安装方法,这样可以省去软件依赖的安装
首先我们打开mysql官网给的yump安装源 http://repo.mysql.com/
可以看到这样的内容,下面说一下,具体的怎么选择,我就拿这个地址来说
http://repo.mysql.com/mysql-apt-config_0.3.5-1debian7_all.deb
&.deb& 这是ubuntu或debian系统的安装包 &.rpm&是centos或redhat系统的安装包,根据自己的系统选择
下面是知识补充,说一下,Linux软件包命名规则,如下这个软件包
mysql57-community-release-el7-9.noarch.rpm
mysql57-community:软件名称
release:软件包版本 release:发行版 beta:测试版 Alpha:内部测试版 等
el7-9:版本号 el7:表示RHEL(Red Hat Enterprise Linux)/Centos 7.9 简称EL ,fc25:表示Fedora 25 这个版本
noarch: 任何平台都可以安装使用 比如有的是i386(32位) X86_64(64位)
devel:表示开发包或源码包
那知道上面的规则就好办了,我的系统是Centos 7 所以我选择的版本是
http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
下载安装源:
wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
安装安装源:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum install mysql-server
这个可以看到要下载的mysql的版本号是多少,确认没有问题后直接安装就行
那么问题来了,既然在安装过程中并没有弹出提示要求输入用户名与密码
OK,我们来修改一下密码打开数据库配置文件 /etc/my.cnf 在[mysqld]加入skip-grant-tables=1
重启数据库
service mysqld restart
然后不需要用户名就可以直接登录数据了
mysql -uroot
直接使用如下命令
mysql& update mysql.user set authentication_string=password('123abc') where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1
Changed: 1
Warnings: 0
Query OK, 0 rows affected (0.00 sec)
完成后,退出,然后去掉配置文件里的skip-grant-tables=1重启数据库
使用上面修改的密码是否可以正常登录。答案如果没有报错,应该是可的!
到这里mysql也就安装好了。
二,安装PHP
知识补充关于php-fpm
nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。
nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。
PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。所以已经不需要另外下载了。
获取PHP下载地址
为什么选择5.6.30这个版本,因为学习,不是研究。诚然,7.0新增了很多PHP的新特性,性能上面也有些提升,如果是研究,倒是可以折腾一番,后面得空再讲7.0的版本以及如何在各个PHP版本之间切换。
打开php的官网:http://php.net/,查看php的版本列表
http://php.net/downloads.php
这里有7.0的与5.6.30的版本如上图,我们选择.tar.gz的这个点进去,选一个节点,我们选择China的地址如下
http://cn2.php.net/get/php-5.6.30.tar.gz/from/this/mirror
wget http://cn2.php.net/get/php-5.6.30.tar.gz/from/this/mirror
mv mirror php-5.6.30.tar.gz
tar zxvf php-5.6.30.tar.gz
进入解压后目录
cd php-5.6.30
我们需要在安装的时候将安装目录配置到/usr/local/php/里
#./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-MySQL --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
上面就是些基本的参数配置和要加载的功能及模块安装路径等,保持默认就行
配置的过程中可能会报如下错误
xml2-config not found. Please check your libxml2 installation.
解决办法 安装libxml2相关组件
yum install libxml2 libxml2-devel
上面安装好后继续配置
如出现如下错误提示:
Please reinstall the libcurl distribution - easy.h should be in &curl-dir&/include/curl/
安装curl相关组件
yum install curl curl-devel
出错提示:
configure: error: png.h not found.
安装libpng相关组件
yum install libpng libpng-devel
出错提示:
freetype-config not found.
安装freetype相关组件
yum install freetype-devel
出错提示:
xslt-config not found. Please reinstall the libxslt &= 1.1.0 distribution
安装libxslt相关组件
yum install libxslt-devel
好的,当我们看到下面这句话的时候,说明你的php已经配置完成啦!
接下来我们只需要编译安装即可完成php的安装
make && make install
看到这句话,表明安装完成!
为了保险起见,我们make test一把,看看是否真的成功了。
上面虽然安装好了,但是要想方便的使用我们还得按规矩配置一翻
php.ini配置
首先我们需要配置的是php.ini这个文件
安装目录有2个文件:php.ini-development和php.ini-production
php.ini-production 线上版本使用
php.ini-development 开发版本使用
我们选择development进行配置 当然如果的线上正式环境就使用正式的那个配置文件
cp php.ini-development /usr/local/php/lib/php.ini
php-fpm配置
拷贝php-fpm配置文件
cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
复制php-fpm到系统启动目录下 这里要注意一下使用源码包里给定好的,不要直接使用那个里的直接启动文件
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
将php-fpm服务添加到chkconfig列表
chkconfig --add php-fpm
设置开机自启动
chkconfig php-fpm on
以后重启和停止php的方式为
service php-fpm start
service php-fpm stop
service php-fpm restart
service php-fpm reload
好现在php已经安装好了,那么下面来安装nginx
三,安装nginx
Nginx的历史不在此赘述,轻量,快是它的特性。只是因为现在的模块没有达到apache的模块数量级,未来有超越apache的势头。
nginx和mysql一样官网都给出了安装源,这有这个就方便了很多
下安rpm安装源
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装安装源
rpn -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
关于编写nginx配置文件
配置文件的路径是 /etc/nginx/nginx.conf
下在我们配置一个使nginx能与php接合使用
打开/etc/nginx/conf.d/default.conf 以前老的版本不定是这个路径,ubuntu和debian的路径也不是这个,这里你得进到对应的目录里查看
在server里面最开启PHP接合
#location ~ \.php$ {
fastcgi_pass
127.0.0.1:9000;
fastcgi_index
fastcgi_param
SCRIPT_FILENAME
/scripts$fastcgi_script_
前面的#去了,然后把 /scprits$fastcgi_script_ 里的/scripts改成$document_root
location ~ \.php$ {
fastcgi_pass
127.0.0.1:9000;
fastcgi_index
fastcgi_param
SCRIPT_FILENAME
$document_root$fastcgi_script_
最后就是配置一个ngixn多虚拟机,
然后再确定nginx ,php-fpm 与目录的权限及用户要一直。
举报REPORT IT
人气0 收藏0次 / 评论0条
还可以输入 2000 个字符
京ICP备 京公网安备91号
还可以输入 264 字符
请输入举报理由Centos7下FastDFS 集群配置及添加storage节点+nginx
配置最终目标
以4台服务做集群,其中2台作为tracker服务器又作为storage节点,tracker以先启动为leader,后启动为client,这个可以互换,另外两台作为纯storage节点,并分配两个group为group1与group2以下服务器说明:
192.168.10.152 tracker leader
group1,storage1
192.168.10.153 tracker client group1,storage2
192.168.10.154 group2,storage1
192.168.10.155 group2,storage2
以上是最终集群配置目标
环境及前提条件
编译c文件所需依赖
yum -y install gcc
编译c++文件所需依赖
yum -y install gcc-c++
解压zip压缩包
yum -y install unzip
Shell编辑器
yum -y install vim
pcre pcre-devel
nginx 所需依赖
yum -y install pcre pcre-devel
zilb zlib-devel
nginx 所需依赖
yum -y install zlib zlib-devel
openssl openssl-devel
nginx 所需依赖
yum -y install openssl openssl-devel
openssl 类库
libfastcommon-master
fastDFS 所需依赖
fasdfs 安装包
fast-nginx-module
nginx 的FastDFS插件
nginx 安装包
依赖顺序直接跳至8,1-7都可以使用centos的命令安装,一般不会出现错误,但一定要执行1,2,5,6,7依赖,不然会出现未知错误,下面开始需要手动安装的步骤
以下操作都是在192.168.10.152机器上操作,为确保安装fasdfs不报错,为了保险起见,还是先安装pcre,zlib,openssl这三个包,安装方法基本一致,解压其tar.gz包,进入该目录,./configure & make &make install 除了openssl是./config 其他的make & make install都一致。
安装libfastcommon-master依赖包
安装完三个依赖包后,进行fasdfs安装,安装fastdfs前需要安装
unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh install
至此libfastcommon就已经安装成功了,但注意一下上图中红色框标注的内容,libfastcommon.so 默认安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以此处需要重新设置软链接(类似于Windows的快捷方式):
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
安装fastDFS
tar -xzf fastdfs-5.0.9.tar.gz
cd fastdfs-5.0.9/
./make.sh install
如果成功,则看见以 fi 结尾
安装成功后,会在etc目录下生成fdfs目录,里面是fdfs的配置文件,现在先拷贝文件
初始化文件路径
为要配置FastDFS,所以也要创建写入日志与data的地方,创建目录:
mkdir /opt/fastdfs_tracker
mkdir /opt/fastdfs_storage
mkdir /opt/fastdfs_storage_data
因为先要配置tracker所以以152机器先启动tracker为例启动第一个trcker节点
vim /etc/fdfs/tracker.conf
因为tracker修改的地方不多,所以以下只列举修改的地方:
base_path=/opt/fastdfs_tracker
store_lookup=0 //一般不用配置,因为这里是为了做集群上传测试能看到分别上传到其他节点,所以设置为0,表示循环上传到goup 节点中,那么如果集群中有3个节点,则会依次上传到group1,group2,group3,group1,group2...以此循环
store_group=group1 //因为是store_lookup设置为0,则表示集群中你讲分配几个group 目前我们是设置为两个,即为goup1与group2,所以这里设置为goup1,另外153的tracker配置文件的这里则设置为group2,store_lookup也设置为0
完成后保存tracker.conf 配置文件
启动152上的tracker
/usr/bin/fdfs_trackerd/ etc/fdfs/tracker.conf
查看是否启动成功
netstat -unlpt|grep fdfs
出现对应的fdfs端口号则启动成功
查看是否报错
cat /opt/fastdfs_tracker/logs/tracker.log
出现这些log文字即表示tracker启动成功
启动153上的tracker
刚刚第5步已经提到了,153 只有store_group设置为group2以外,其他都跟152上的设置一样,配置完了启动启动结果跟152的一致
/usr/bin/fdfs_trackerd/ etc/fdfs/tracker.conf
查看端口:
netstat -unlpt|grep fdfs
出现对应的fdfs端口号则启动成功
查看日志是否报错
cat /opt/fastdfs_tracker/logs/tracker.log
ok,现在启动了两个tracker,但是还没有关联起来,也就是说还没有集群效果,下面低8步开始则配置storage,FastDFS
的核心,因为152,153都是即作为tracker又作为storage的,所以初始化文件路径的时候做了storage的操作。
配置152的storage
以152为例配置
vim /etc/fdfs/storage.conf
group_name=group1 //配置当前storage节点属于哪个group
port=23000 //配置当前group的端口号
base_path=/opt/fastdfs_storage //设置storage 存放日志的路径
store_path=/opt/fastfs_storage_data //设置storage 存储路径,如果没有设置,则使用base_path,这里的路径是指文件存储的地址,而不是日志存放的路径,因为为了区分日志的data和存储文件的data所以文件路径初始化的时候就做不同的文件
tracker_server=192.168.10.152:22122
tracker_server=192.168.10.153:22122 //配置两个tracker服务器地址,两个这直接写在下面即可,三个依次添加
配置153的storage
vim /etc/fdfs/storage.conf
group_name=group1 //配置当前storage节点属于哪个group
port=23000 //配置当前group的端口号
base_path=/opt/fastdfs_storage //设置storage 存放日志的路径
store_path=/opt/fastfs_storage_data //设置storage 存储路径,如果没有设置,则使用base_path,这里的路径是指文件存储的地址,而不是日志存放的路径,因为为了区分日志的data和存储文件的data所以文件路径初始化的时候就做不同的文件
tracker_server=192.168.10.152:22122
tracker_server=192.168.10.153:22122 //配置两个tracker服务器地址,两个这直接写在下面即可,三个依次添加
两个一模一样。。。。
启动storage
首先启动152的storage
/usr/bin/fdfs_storaged/ etc/fdfs/storage.conf
查看 端口是否启动
netstat -unlpt|grep fdfs
查看日志是否报错
cat /opt/fastdfs_storage/logs/storaged.log
因为这里我是先启动的153,所以leader为153的,先启动152的,leader则为152的
查看 152机器上的tracker日志
cat /opt/fastdfs_tracker/logs/trackerd.log
在之前的日志后面打印了选择leader的日志,这里选择153的机器为leader,同理,153的tracker也会增加日志
查看153的tracker日志:
cat /opt/fastdfs_tracker/logs/trackerd.log
153的日志最后一条跟152的不一致,因为153作为leader,则打印的为:I am new tracker leader
而152的则打印:the tracker leader is 192.168.10.153:22122
接下来配置与启动153的storage
启动跟152的一致
/usr/bin/fdfs_storaged/etc/fdfs/storage.conf
查看 端口是否启动
netstat -unlpt|grep fdfs
然后配置与启动154的storage
因为154跟155只作为单纯的storage节点,所以就不配置tracker,但是storage.conf的配置则跟152与153的不一致,下面请看配置:
vim /etc/fdfs/storage.conf
group_name=group2 //配置当前storage节点属于哪个group
port=23001 //配置当前group的端口号
不一致主要是前面2个配置,group_name与port,因为后面两个存储节点是group2的,所以只需要把端口改为23001即可
base_path=/opt/fastdfs_storage //设置storage 存放日志的路径
store_path=/opt/fastfs_storage_data //设置storage 存储路径,如果没有设置,则使用base_path,这里的路径是指文件存储的地址,而不是日志存放的路径,因为为了区分日志的data和存储文件的data所以文件路径初始化的时候就做不同的文件
tracker_server=192.168.10.152:22122
tracker_server=192.168.10.153:22122 //配置两个tracker服务器地址,两个这直接写在下面即可,三个依次添加
启动 154的storage
启动方式跟查看端口日志不再累述
最后配置与启动155的storage
vim /etc/fdfs/storage.conf
group_name=group2 //配置当前storage节点属于哪个group
port=23001 //配置当前group的端口号
不一致主要是前面2个配置,group_name与port,因为后面两个存储节点是group2的,所以只需要把端口改为23001即可
base_path=/opt/fastdfs_storage //设置storage 存放日志的路径
store_path=/opt/fastfs_storage_data //设置storage 存储路径,如果没有设置,则使用base_path,这里的路径是指文件存储的地址,而不是日志存放的路径,因为为了区分日志的data和存储文件的data所以文件路径初始化的时候就做不同的文件
tracker_server=192.168.10.152:22122
tracker_server=192.168.10.153:22122 //配置两个tracker服务器地址,两个这直接写在下面即可,三个依次添加
启动 155的storage
启动方式跟查看端口日志不再累述
目前我们依次启动了:
152 的tracker,153的tracker,152的storage,153的storage,154的storage,155的storage
现在我们来查看集群状态:
在启动stroage的任意一台机器上都可以查看集群状态:
例如:在155上查看:
/usr/bin/fdfs_monitor
/etc/fdfs/storage.conf
首先查看前面部分:
看这里说明了启动2个tracker由server_count=2表示,启动了2个group由group count:2表示
这里写明group1的配置,disk total space,则为总容量,disk free space 为可用容量
再看storage1:
主要看后面这个ACTIVE
这里列出几个常见的状态:
ACTIVE表示可用状态,也就是正常的,成功的
WAIT_SYNC:等待同步,一般出现这个状态基本上是由于添加了新存储节点造成,一般正常情况下一会就会同步完成
SYNCING:同步中,添加新节点一般会在新添加的storage节点显示该状态,说明正在同步
DELETE:删除storage节点,一般删除后会显示该状态,重启tracker服务器则不再看见该状态的storage节点,删除指令为:/etc/fdfs/client.conf delete groupxx 192.168.xx.xx 这里的client.conf配置很简单,只需要配置上base_path=/opt/fastdfs_storage 与tracker_server 既可,当然tracker_server如果是集群,则写集群的所有tracker服务器
OFFLINE:离线,不能提供服务,一般是由于先启动两个tracer节点,没有启动任何节点是storage造成,解决原因就是启动storage就可以了,但是这个一般是由于配置成功过一次后关机再启动tracker没有启动storage造成的。
INIT:初始化
我们继续查看集群情况:
这里是153的storage节点,归属group1:
这里是154的stroage节点,归属到group2中去了
这里是155的stroage节点,归属到group2中去了:
到这里fastdfs的纯集群配置完成,下面我们来尝试模拟生产环境进行添加一个storage节点,并分配一个group3,把新增的storage节点归属到group3中并完成同步操作
1.添加一个storage节点
同理 我们开辟一个新的机器,ip为192.168.10.156,则只配置storage的
group_name=group3
port=23002
tracker_server=192.168.10.152:22122
tracker_server=192.168.10.152:22122
base_path与store_path0则为152,153,154,155的一致,前提需要初始化文件路径
注意:如果156之前作为storage为其他tracker的storage,则需要删除/opt/fastdfs_storage_data/data的所有数据
因为156我之前做过一个storage则需要执行 rm -rf /opt/fastdfs_storage_data/data
如果是新增加的则不需要执行这一步操作,如果不执行这一步操作,则无法同步。。。也就是会造成集群状态的group3节点的storage1位WATI_SYNC状态。
下面启动stroage
端口就不查看了,直接查看log
cat /opt/fastdfs_storage/logs/storage.log
查看到创建文件data数据后报错,tracker 153连接返回 status 2!=0
查看半天发现配置正确,日志报错,找了很多资料后没有解决,后来想了下是不是防火墙问题,果断执行关闭防火墙操作
service firewalld stop
停止防火墙
systemctl disable firewalld
禁用防火墙,完全关闭,开机不启动
再查看日志:
原来是防火墙的问题,再查看集群stroage状态:
到这里集群的添加节点配置已经达到理想状态,
如果删除节点,在上面我已近提到过直接命令操作既可
接下来我们进行测试上传文件
添测试进行文件上传
因为我们配置tracker的时候设置了上传以循环group的方式进行上传,那么分别上传3个文件,看看返回的是否是group1/M00/xxx
group2/M00/xxx
group3/M00/xxx
随便找一太机器进行上传,以152作为上传节点吧,那么配置client.conf ,
base_path=/opt/fastdfs_storage
tracker_server=192.168.10.152:22122
tracker_server=192.168.10.153:22122
vim test1.txt 输入11111,保存3个分别为test1.txt test2.txt test3.txt
可以看到,group2上传失败,是不是防火墙原因呢:
关闭154上的防火墙:
再继续进行上传:
Ok上传成功!
添安装Nginx,提供http的下载
因为FastDFS 的http服务太弱,无法提供负载均衡等服务,所以需要借助nginx来进行http访问的负载
下面进行配置 nginx与fast-nginx-module
./configure --prefix=/usr/local/nginx/ --add-module=/home/downloads/fast-nginx-module/src
解复制FastDFS目录下的文件
conf中的http.conf
mime.types 两个文件到 /etc/fdfs/ 下,不然启动nginx会报错
创建软连接
ln -s /opt/fastdfs_storage_data/data/ /opt/fastdfs_storage_data/data/M00
//创建软连接的目的是为了nginx能够访问储存路径的时候能直接访问到M00的数据,
复制mod_fastdfds.conf
cp fast-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
复制fastdfs-nginx-module下的mod_fastdfds.conf 至 /etc/fastdfs/下,并编辑,编辑几个主要属性
base_store=/opt/fastdfs_storage //也就是存储日志目录
tracker_server=192.168.10.152:22122
tracker_server=192.168.10.153:22122
storage_server_port=23000 //表示当前机器的storage的端口,因为是152的机器,152的storage端口为2300,所以这里设置为23000
group_name=group1 //这里也表示当前机器storage的group名称,因为152的storage的group名称为group1,所以这里设置为group1
store_path0=/opt/fastdfs_storage_data //这里表示存储路径
group_count=3 //这里表示集群中group的数量,因为我们只开辟了3个,所以设置为3,那么以下的设置就要写3个,分别表示3个group的信息,下面分别设置了3个group的信息:
group_name=group1
storage_server_port=2300
store_path_count=1
store_path0=/opt/fastdfs_storage_data
group_name=group2
storage_server_port=2301
store_path_count=1
store_path0=/opt/fastdfs_storage_data
group_name=group3
storage_server_port=2302
store_path_count=1
store_path0=/opt/fastdfs_storage_data
ok,这里的mod_fastdfs.conf 的配置已经完成,接下来最后一步就是设置nginx
打开ngxin的配置文件
vim /usr/local/ngxin/conf/nginx.conf
编辑3行代码:
完成,保存后启动:
/usr/local/nginx/sbin/nginx
启动成功后会有pid号:
然后查看nginx日志:
cat /usr/loca/nginx/logs/error.log
这里看到storage_server_port =23000,可能有疑问,为什么只有23000,那么去哪里了呢?其实这里的23000表示本地机器storage的端口,如果在storage的端口为23001的机器上启动ngxin的话, 那么这里也会是23001
OK,nginx 配置启动完成,那么现在我们来看看刚刚上传的3个文件是否能通过http协议访问,打开浏览器,输入
192.168.10.152/group1/M00/00/00/wKgKmFjbH0qAG0HZAAAABTzXiJY913.txt
192.168.10.152/group2/M00/00/00/wKgKmljbH1eAQfcuAAAABj_dUtU558.txt
192.168.10.152/group3/M00/00/00/wKgKnFjbH2KAdeXPAAAABSJTpW4319.txt
结果分别是:grou1的为:
结果分别是:grou2的为:
结果group2报错,访问不了,我们查看下nginx的日志
cat /usr/local/nginx/logs/error.log
截图字太小,贴出来:
11:01:57 [error] 2394#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.10.1, server: localhost, request: "GET /group2/M00/00/00/wKgKmljbH1eAQfcuAAAABj_dUtU558.txt HTTP/1.1", upstream: "http://192.168.10.154:80/group2/M00/00/00/wKgKmljbH1eAQfcuAAAABj_dUtU558.txt?redirect=1",
host: "192.168.10.152"
11:03:11 [error] 2394#0: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.10.1, server: localhost, request: "GET /group2/M00/00/00/wKgKmljbH1eAQfcuAAAABj_dUtU558.txt HTTP/1.1", upstream: "http://192.168.10.154:80/group2/M00/00/00/wKgKmljbH1eAQfcuAAAABj_dUtU558.txt?redirect=1",
host: "192.168.10.152"
日志说group2/xxx/xxx 无法upstream到154的80,忘了最后一件事件,就是所有当做stroage的节点机器都必须启动nginx做为storage负载,所以,这里除了152,153,那么剩下的154,155,156都需要启动nginx,下面则列举154与156的,155的就不累述了
mod_fastdfs.conf 则按照152的配置来
group_name=group2
store_server_port=23001
url_have_group_name=true
group_count=3
因为154上的storage的group_name为group2,所以要设置为group2,另外,后面的跟152一致
然后nginx.conf 配置:
156的配置完成后启动nginx
然后再来访问:
192.168.10.152/group2/M00/00/00/wKgKmljbH1eAQfcuAAAABj_dUtU558.txt
192.168.10.152/group3/M00/00/00/wKgKnFjbH2KAdeXPAAAABSJTpW4319.txt
查看结果:group2
ok没问题!
查看结果group3
FastDFS的集群配置到目前为止已经完全结束了,完成了安装依赖,配置,添加节点,数据同步,上传测试,下载测试,下载负载均衡等功能,遇到防火墙等问题,都给出了解决方法
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 nginx集群搭建 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信