linux服务器之nginx与fastdfs整合

生产环境的搭建

1. 准备硬件

一台生产服务器内置linux系统centos,

例:ip地址:111.111.111.11

用户名:root

密码:1111

2. 准备软件

Jdk

Mysql数据库

Nginx

fastdfs

3. 安装软件

安装jdk

<1>. 通过yum命令安装jdk1.8
  先查看系统有没有自带的openjdk

# rpm -qa |grep java
# rpm -qa |grep jdk
# rpm -qa |grep gcj


  如果安装了,首先卸载
  批量卸载

 

# rpm -qa | grep java | xargs rpm -e –nodeps

 

检索yum中有没有java1.8的包

 

# yum list java-1.8* 


  开始安装

# yum install java-1.8.0-openjdk* -y

 

二、安装mysql

<1>. 通过yum命令安装mysql5.7
  wget下载mysql源安装包(centos 7下载这个)

># wget http://dev.mysql.com/get/mysql57-community-release-el    7-8.noarch.rpm


  <2>.安装mysql源(centos 7)

># yum localinstall mysql57-community-release-el7-8.noarch.rpm


  <3>.验证源安装是否成功

># yum repolist enabled | grep "mysql.*-community.*"


  <4>.开始安装

># yum install mysql-community-server(一路按y)


  <5>.启动 mysql

># systemctl start mysqld

停止 mysql
 

    ># systemctl stop mysqld


  <6>.查看状态

># systemctl status mysqld

<7>.设置开机启动

># systemctl enable mysqld
># systemctl daemon-reload


  <8>.修改root本地登录密码
  mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。
  通过下面的方式找到root默认密码

(有时候生成的密码是特殊字符,会出问题,比如生成的密码 sX;qQZ.L;6Ml  那就用转义 sX\;qQZ.L\;6Ml 即可)

># grep 'temporary password' /var/log/mysqld.log


  显示如下
  

# 2017-05-23T04:53:37.967825Z 1 [Note] A temporary password is generated for root@localhost: wztxYpby+2Gr

<9>.然后登录mysql进行修改: 注意,密码有策略,大小写数字和特殊字符否则报错登录:mysql -uroot -pwztxYpby+2Gr(可能需要重启先,因为可能会报)
  旧版:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ShangLi@2017';

 
  新版:

mysql> alter user user() identified by "Dg19921123.";

 

 


  <10>.增加远程登录用户

mysql> GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;


  新增管理员用户

mysql> CREATE USER 'denggen'@'localhost' IDENTIFIED BY '123456';
mysql> GRANT ALL ON  *.* TO 'denggen'@'localhost';

三、安装nginx

<1>. 安装依赖包

# yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

 

<2>. 下载并解压压缩包

# cd /usr/local

 

上传压缩文件nginx-1.8.1.tar.gz(需要安装lrzsz,或者直接wget下载

# wget http://nginx.org/download/nginx-1.8.1.tar.gz)

# yum install lrzsz -y

# rz

 

解压

# tar -zxvf nginx-1.8.1.tar.gz

 

<3>. 安装nginx

重命名nginx解压文件

# mv nginx-1.13.7.tar.gz nginx

 

进入nginx文件夹

# cd nginx

 

执行命令

# ./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

 

配置nginx.conf

# cd conf

# vim nginx.conf

(修改server{

listen    80; #端口

server_name    localhost;#本机ip(或域名)

location /group1/M00/{

ngx_fastdfs_module;

}

})

 

启动nginx

# cd /usr/local/nginx/sbin

# ./nginx -s reload

 

查看nginx启动进程

# ps -ef|grep nginx

 

关闭nginx

# ./nginx -s stop

 

四、安装fastdfs

<1>. 安装gcc

# yum -y install gcc-c++

 

<2>. 安装libevent库

# yum -y install libevent

 

<3>. 安装libfastcommon

# cd /usr/local

 

上传基础库压缩文件libfastcommon-1.0.7.tar.gz(或者用wget直接下载)

# rz

 

解压

# tar -zxvf libfastcommonV1.0.7.tar.gz

 

进入解压文件

# cd libfastcommonV1.0.7

 

编译

# ./make.sh

 

安装

# ./make.sh install

 

(安装完成后将库文件libfastcommon.so自动下载到/usr/lib64下,而FastDFS程序引用的是/usr/lib下的库文件)

拷贝文件到/usr/lib下

# cp /usr/lib64/libfastcommon.so /usr/lib

 

<4>. 安装tracker追踪服务器

# cd /usr/local

 

上传压缩文件FastDFS_v5.05.tar.gz(或者用wget直接下载)

解压

# tar -zxvf FastDFS_v5.05.tar.gz

 

进入解压文件

# cd FastDFS

 

编译

# ./make.sh

 

安装

# ./make.sh install

 

(安装成功后,将安装目录下的conf下的文件拷贝到/etc/fdfs/下)

# cd conf

# cp * /etc/fdfs/

 

配置追踪服务器

# cd /etc/fdfs

# vim tracker.conf

 

(修改数据和日志文件的存储路径base_path=/home/fastdfs,端口默认22122)

创建设置的路径文件夹

# mkdir /home/fastdfs

 

启动tracker

# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

 

查看启动进程

# ps -ef|grep fdfs

 

设置开机自启

# vim /etc/rc.d/rc.local
(添加运行命令/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart)

 

 

<5>. 安装storage存储服务器

(如果在同一台机器安装则可以不再安装,因为安装FastDFS时它就包含了tracker与storage。若不在一台机器则需要安装gcc/libevent/libfastcommon,然后再和安装tracker一样安装一次)

<6>. 配置storage存储服务器

# cd /etc/fdfs

# vim storage.conf

(修改数据和日志文件的存储路径base_path=/home/fastdfs,


修改存储文件路径store_path0=/home/fastdfs/fdfs_storage,


修改tracker服务器ip,tracker_server=111.111.111.11:22122,此ip为上面配置tracker的ip)



 

创建设置的路径文件夹

# mkdir /home/fastdfs/fdfs_storage

 

启动storage

# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

 

查看启动进程

# ps -ef|grep fdfs

 

设置开机自启

# vim /etc/rc.d/rc.local
(添加运行命令/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart)

 

 

五、fastdfs与nginx的整合

<1>. FastDFS-nginx-module整合nginx

# cd /usr/local

 

上传压缩文件fastdfs-nginx-module_v1.16.tar.gz

解压

# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

 

修改配置文件

# cd fastdfs-nginx-module/src

# vim config

(修改

CORE_INCS"$CORE_INCS/usr/include/fastdfs/usr/include/fastcommon/"

CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"

)

 

将mod_fastdfs.conf拷贝至/etc/fdfs/下

# cp mod_fastdfs.conf /etc/fdfs/

 

修改mod_fastdfs.conf

# vim /etc/fdfs/mod_fastdfs.conf

(修改base_path=/home/fastdfs,为tracker中配置的路径

tracker_server=111.111.111.11:22122

url_have_group_name=true

store_path0=/home/fastdfs/fdfs_storage,为storage中配置的路径)

 

将libfdfsclient.so拷贝至/usr/lib下

# cp /usr/lib64/libfdfsclient.so /usr/lib

 

创建nginx/client临时文件存储目录

# mkdir -p /var/temp/nginx/client

 

六、测试

<1>. 确定服务启动

# ps -ef|grep nginx

# ps -ef|grep fdfs

 

<2>. 将图片上传到FastDFS的测试

# /usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/1.png

(/usr/local/1.png为服务器上的图片)

 

返回group1/M00/00/00/rBAADF0DP9mAVeEQAAIu_PoGmts651.png

在浏览器访问

http://111.111.111.11:80/group1/M00/00/00/rBAADF0DP9mAVeEQAAIu_PoGmts651.png可以看到图片,则上传成功

上一篇:CentOS7搭建FastDFS+Nginx


下一篇:单节点FastDFS安装