微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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可以看到图片,则上传成功

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐