jdk1.8下载
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz
mysql5.6.33下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
jdk安装
tar -zxvf jdk-8u111-linux-x64.tar.gz
mv jdk-8u111-linux-x64/* /usr/local/jdk1.8
jdk环境变量配置
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
:wq #保存
source /etc/profile
mysql安装
# 安装依赖
yum -y install perl perl-devel autoconf libaio
把下载的安装包移动到/usr/local/下。
解压
tar zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
复制解压后的mysql目录到系统的本地软件目录
cp mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql -r
添加mysql组和mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
进入安装mysql软件目录,修改目录拥有者为mysql用户
cd mysql/
chown -R mysql:mysql ./
安装数据库
./scripts/mysql_install_db --user=mysql
如果报错:FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:Data::Dumper
执行:yum install -y perl-Data-Dumper 可解决
修改当前目录拥有者为root用户
chown -R root:root ./
修改当前data目录拥有者为mysql用户
chown -R mysql:mysql data
添加mysql服务开机自启动
cp support-files/mysql.server /etc/init.d/mysql
# 赋予可执行权限
chmod +x /etc/init.d/mysql
# 添加服务
chkconfig --add mysql
# 显示服务列表
chkconfig --list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行
chkconfig --level 345 mysql on
#创建缺少的文件夹
mkdir /var/log/mariadb
正常提示信息:Starting MySQL. SUCCESS!
把mysql客户端放到默认路径
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
连接数据库:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 可解决
mysql创建远程用户并授权
grant all privileges on *.* to 'yxd'@'%'identified by '123456' with grant option;
flush privileges;
常用命令
查看端口
netstat -nap | grep 80
or
netstat -nap | grep nginx
关闭reids\ginx
pkill redis\ginx
FastDFS+Nginx服务器搭建
需要的文件
1、安装libevent
yum -y install libevent
2、安装libfastcommon
将libfastcommon-master.zip拷贝至/usr/local/下 (zip解压命令 unzip libfastcommon-master.zip)
cd /usr/local
unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install
注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。
要拷贝的文件如下:
3、tracker编译安装
将fastdfs-master.zip拷贝至/usr/local/下
unzip fastdfs-master.zip
cd fastdfs-master
./make.sh
./make.sh install
安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下。
然后
cd /etc/fdfs
vim tracker.conf
base_path=/home/yuqing/FastDFS
改为:
base_path=/home/FastDFS
****注意FastDFS需要自己创建
http.server_port=80 (端口与nginx一致 80为nginx默认端口)
启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
设置tracker开机自启
vim /etc/rc.d/rc.local
将 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart 添加到 rc.local 中
4、FastDFS–storage安装(fastdfs-master.zip里面包含了storage配置文件不需要重新解压编译)
cd /etc/fdfs
vim storage.conf
group_name=group1
base_path=/home/yuqing/FastDFS改为:base_path=/home/FastDFS
store_path0=/home/yuqing/FastDFS改为:store_path0=/home/FastDFS/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#store_path2=......
tracker_server=192.168.38.131:22122 #配置tracker服务器:IP
#如果有多个则配置多个tracker
tracker_server=192.168.38.132:22122
http.server_port=80 (端口与nginx一致 80为nginx默认端口)
启动storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
设置storage开机自启
vim /etc/rc.d/rc.local
将 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart 添加到 rc.local
5、测试文件上传
先修改/etc/fdfs 下的client.conf
cd /etc/fdfs
vim client.conf
base_path=/home/fastdfs
tracker_server=192.168.38.131:22122
上传
使用格式:
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件
比如将/home下的图片上传到FastDFS中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/0.jpg
返回以下结果说明FDS服务器配置成功
http://192.168.38.131/group1/M00/00/00/wKgmg1uEzk-AQCMqAAAnlpTP0E4882_big.jpg 就是文件的下载路径。由于现在还没有和nginx整合无法使用http下载。
6、整合Nginx
6.1、配置FastDFS-nginx-module
将FastDFS-nginx-module_v1.16.tar.gz传至/usr/local/下
cd /usr/local
tar -zxvf FastDFS-nginx-module_v1.16.tar.gz
cd FastDFS-nginx-module/src
修改config文件将/usr/local/路径改为/usr/
vim config
修改前
ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
修改后
ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下
cp mod_FastDFS.conf /etc/fdfs/
并修改mod_FastDFS.conf的内容:
vi /etc/fdfs/mod_FastDFS.conf
base_path=/home/FastDFS
tracker_server=192.168.101.3:22122
#tracker_server=192.168.101.4:22122(多个tracker配置多行)
# url_have_group_name默认为false url中包含group名称需要改为true
url_have_group_name=true
http://192.168.xx.xx/group1/M00/00/00/wKgmgVtr9gaEENw1AAAAAH0aA70616.jpg
store_path0=/home/FastDFS/fdfs_storage #指定文件存储路径
将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
创建nginx/client目录
mkdir -p /var/temp/nginx/client
6.2、安装Nginx
将nginx-1.8.0.tar.gz传至/usr/local/下
cd /usr/local
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
##### 添加FastDFS-nginx-module模块
================================================================
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/usr/local/fastdfs-nginx-module/src
make
make install
================================================================
(/usr/local/fastdfs-nginx-module/src 根据自己fastdfs-nginx-module的位置决定)
执行完后nginx就被安装到了/usr/local/nginx目录下,然后修改nginx配置文件
cd /usr/local/nginx/conf
vim nginx.conf
##### 添加Server
server {
listen 80;
server_name 192.168.38.131;
// 文件访问地址
location /group1/M00/{
## 文件所在位置
root /home/FastDFS/fdfs_storage/data;
ngx_fastdfs_module;
}
}
说明:
server_name指定本机ip
location /group1/M00/:group1为nginx 服务FastDFS的分组名称,M00是FastDFS自动生成编号,对应store_path0=/home/FastDFS/fdfs_storage,如果FastDFS定义store_path1,这里就是M01
然后启动nginx
./usr/local/nginx/sbin/nginx
测试是否成功(切记一定要开发端口或者关闭服务器防火墙)
直接在主机浏览器访问之前上传完后的返回的文件地址
http://192.168.38.131/group1/M00/00/00/wKgmg1uEzk-AQCMqAAAnlpTP0E4882_big.jpg