一键安装nginx和fsfs分布式文件存储shell脚本
2018-03-04 13:40
671 查看
#!/bin/bash # lty 20180116 # fastdfs install script if [ `id -u` -ne 0 ];then echo "非root用户,脚本退出" exit 0 fi if [ ! -f "/root/soft/fastdfs_install.sh" ];then echo "请将安装脚本方在/root/soft目录后重新执行安装。" fi install_fdfs() { cd /root/soft wget https://codeload.github.com/happyfish100/libfastcommon/zip/master -O libfastcommon-master.zip if [ ! -f "libfastcommon-master.zip" ];then echo "下载libfastcommon-master.zip出错" && exit 1 fi unzip libfastcommon-master.zip cd libfastcommon-master/ sh ./make.sh sh ./make.sh install cd .. wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.08/FastDFS_v5.08.tar.gz if [ ! -f "FastDFS_v5.08.tar.gz" ];then echo "下载FastDFS_v5.08.tar.gz出错" && exit 1 fi tar xf FastDFS_v5.08.tar.gz cd FastDFS sh ./make.sh sh ./make.sh install cd /etc/fdfs/ cp storage.conf.sample storage.conf cp tracker.conf.sample tracker.conf cp client.conf.sample client.conf mkdir -p /data/fastdfs sed -i "s@/home/yuqing/@/data/@g" ./*f } install_nginx() { cd /root/soft wget http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz if [ ! -f "fastdfs-nginx-module_v1.16.tar.gz" ];then echo "下载fastdfs-nginx-module_v1.16.tar.gz出错" fi tar xf fastdfs-nginx-module_v1.16.tar.gz cd fastdfs-nginx-module/src/ sed -i "s@/usr/local/@/usr/@g" config # 或手动编辑vim config,/usr/local改成/usr,执行:%s+/usr/local/+/usr/+g命令进行批量替换并保存退出 \cp mod_fastdfs.conf /etc/fdfs/ # 开始配置fastdfs IPLINE=`ip addr | grep -E 'inet 172|inet 192|inet 10' | awk -F'[/]' '{print$1}' | awk '{print$2}' |wc -l` if [ $IPLINE -gt 1 ];then echo "本机有多个内网IP,请手动配置/etc/fdfs/mod_fastdfs.conf的tracker_server项" elif [ $IPLINE -eq 1 ];then IP=`ip addr | grep -E 'inet 172|inet 192|inet 10' | awk -F'[/]' '{print$1}' | awk '{print$2}'` sed -i "s@tracker:22122@$IP:22122@" /etc/fdfs/mod_fastdfs.conf sed -i "s@192.168.0.197@$IP@g" /etc/fdfs/*conf sed -i "s@192.168.209.121@$IP@g" /etc/fdfs/*conf else echo "未检测到本机内网IP,请手动配置/etc/fdfs/mod_fastdfs.conf的tracker_server项" fi sed -i "s@url_have_group_name = false@url_have_group_name = true@" /etc/fdfs/mod_fastdfs.conf sed -i "s@home/yuqing@data@g" /etc/fdfs/*conf #需要检查是否有系统安装的nginx NGINX_PROC=`ps -ef | grep nginx | grep -v grep` if [ $NGINX_PROC ];then echo "存在nginx进程,将跳过nginx安装。请手动配置nginx.conf" return fi cd /root/soft yum install -y pcre-devel zlib-devel wget http://nginx.org/download/nginx-1.12.2.tar.gz if [ ! -f "nginx-1.12.2.tar.gz" ];then echo "下载nginx-1.12.2.tar.gz出错" && exit 1 fi tar xf nginx-1.12.2.tar.gz cd nginx-1.12.2 ./configure --prefix=/apps/nginx/ --add-module=../fastdfs-nginx-module/src/ make make install cd /apps/nginx/conf cat > /apps/nginx/conf/nginx.conf <<EOF user root; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; client_max_body_size 300M; keepalive_timeout 65; server { listen 80; server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { #root html; } } } EOF \cp /apps/nginx/conf/mime.types /etc/fdfs/ \cp /root/soft/FastDFS/conf/http.conf /etc/fdfs/ } # 启动 start_service() { fdfs_storaged /etc/fdfs/storage.conf fdfs_trackerd /etc/fdfs/tracker.conf ln -s /data/fastdfs/data/ /data/fastdfs/data/M00 /apps/nginx/sbin/nginx echo "fdfs、nginx安装完成,启动成功" ps -ef | grep -E "nginx|fdfs"| grep -v grep } install_fdfs || exit 1 install_nginx|| exit 1 start_service|| exit 1 exit 0
相关文章推荐
- shell脚本一键安装nginx
- shell 一键安装 mysql、nginx、lrzsz、jdk1.8、ss 多功能脚本
- CentOS下nginx一键安装shell脚本
- shell脚本一键安装LNMP(liunx+nginx+mysql+php)环境
- Centos上面用Shell脚本一键安装LNMP环境, Nginx+MySQL+PHP+Xcache+Memcached
- 源文件null脚本安装Nginx并添加Naxsi模块
- shell脚本实现ipa一键安装(itms-services协议)
- Shell脚本一键安装VSFTP
- shell脚本实现ipa一键安装(itms-services协议)
- shell脚本实现ipa一键安装(itms-services协议)
- 阿里云主机一键安装lamp、lnmp环境的shell脚本分享
- Shell分布式系统分发文件脚本
- [SHELL] LAMP一键安装脚本设计(v2.1)
- LNMP一键安装shell脚本
- 阿里云主机一键安装lamp、lnmp环境的shell脚本分享
- shell脚本(一键安装mysql)
- Nginx一键安装脚本
- Centos 上面用Shell脚本一键安装LAMP环境
- Centos 6.4上面用Shell脚本一键安装mysql 5.6.15
- Centos 6.4上面用Shell脚本一键安装vsftpd