生产环境的搭建:
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可以看到图片,则上传成功