前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FastDFS+Nginx安装部署

FastDFS+Nginx安装部署

原创
作者头像
用户5935336
修改2019-07-31 09:56:44
1.8K0
修改2019-07-31 09:56:44
举报
文章被收录于专栏:实施实施

第一章 原理

1.1.概述

FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储、文件同步和文件访问,以及高容量和负载平衡。主要解决海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。

FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。

Tracker Server:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。

Storage Server:存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。

Client:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。

1.2.FastDFS的存储策略

为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。

在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。

1.3.FastDFS的上传过程

FastDFS向使用者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。 Storage Server会定期的向Tracker Server发送自己的存储信息。当Tracker Server Cluster中的Tracker Server不止一个时,各个Tracker之间的关系是对等的,所以客户端上传时可以选择任意一个Tracker。当Tracker收到客户端上传文件的请求时,会为该文件分配一个可以存储文件的group,当选定了group后就要决定给客户端分配group中的哪一个storage server。当分配好storage server后,客户端向storage发送写文件请求,storage将会为文件分配一个数据存储目录。然后为文件分配一个fileid,最后根据以上的信息生成文件名存储文件。

1.4.FastDFS文件同步

写文件时,客户端将文件写至group内一个storage server即认为写文件成功,storage server写完文件后,会由后台线程将文件同步至同group内其他的storage server。每个storage写文件后,同时会写一份binlog,binlog里不包含文件数据,只包含文件名等元信息,这份binlog用于后台同步,storage会记录向group内其他storage同步的进度,以便重启后能接上次的进度继续同步;进度以时间戳的方式进行记录,所以最好能保证集群内所有server的时钟保持同步。

1.5.FastDFS文件下载

客户端uploadfile成功后,会拿到一个storage生成的文件名,接下来客户端根据这个文件名即可访问到该文件。 跟upload file一样,在downloadfile时客户端可以选择任意tracker server。tracker发送download请求给某个tracker,必须带上文件名信息,tracker从文件名中解析出文件的group、大小、创建时间等信息,然后为该请求选择一个storage用来服务读请求。

第二章 准备工作

2.1.准备环境

1.局域网环境下,不能连接互联网。

2.需要准备的安装包:CentOS-6.8.iso、FastDFS_v5.08、nginx-1.8.1、libfastcommon-master、fastdfs-nginx-module。

3.安装包统一存放在/usr/softpackages,需要自行创建该目录。

2.2.添加本地yum源

1.将“CentOS-6.8-x86_64-bin-DVD1.iso”上传到/usr/softpackages,将其挂载到/media/下:

[root@centos ~]# mount -o loop /usr/softpackages/CentOS-6.8-x86_64-bin-DVD1.iso /media/

2.添加本地yum源

[root@centos ~]# yum-config-manager --add-repo="file:///media" 已加载插件:fastestmirror, refresh-packagekit adding repo from: file:///media [media] name=added from: file:///media baseurl=file:///media enabled=1

3.修改media_cdrom.repo文件。在该文件中添加一行“gpgcheck=0”,去掉yum源验证(gpgcheck=0关闭验证,gpgcheck=1启用验证)

[root@centos ~]# cd /etc/yum.repos.d/ [root@centos ~]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo media.repo #刚刚添加的yum源 [root@centos yum.repos.d]# vim media.repo [media] name=added from: file:///media baseurl=file:///media enabled=1 gpgcheck=0

4.关闭其他yum源

即使其他yum源(centos自带的)不生效。由于不能连接互联网,这些自带的yum源都不能使用。通常的做法是改变yum源中的enabled参数,使enabled=0(enabled=1生效,enabled=不生效)。但这里不使用该方法,有效的yum源文件是.repo文件,修改文件名亦可使其失效。这里将默认的yum源文件名(包括CentOS-Base.repo、CentOS-Debuginfo.repo、CentOS-fasttrack.repo、CentOS-Media.repo、CentOS-Vault.repo)后面加上.bk(CentOS-Base.repo.bk、CentOS-Debuginfo.repo.bk、CentOS-fasttrack.repo.bk、CentOS-Media.repo.bk、CentOS-Vault.repo.bk),使之失效。

2.3.安装gcc

这里用的安装包都是C语言开发的源码包,需要使用gcc编译工具进行编译安装。

[root@centos ~]# yum -y install gcc …… 已安装: gcc.x86_64 0:4.4.7-17.el6 作为依赖被安装: cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-17.el6 mpfr.x86_64 0:2.4.1-6.el6 ppl.x86_64 0:0.10.2-11.el6 完毕!

2.4.端口规划

规划:tracker端口22189(默认22122);storage端口23089(默认23000);nginx端口8089(默认80)。

2.5.设置防火墙以使以上三个端口能够通过

编辑防火墙配置文件vim /etc/sysconfig/iptables,允许22189、23089和8089通过,即向其中添加下图红框中的三行,然后重启防火墙。

[root@centos ~]# vim /etc/sysconfig/iptables

重启防火墙配置

[root@localhost ~]# service iptables restart

第三章 安装FastDFS

3.1.安装libfastcommon-master

3.1.1.为何要安装libfastcommon-master

FastDFS依赖libfastcommon-master,在安装FastDFS之前应当先安装libfastcommon-master。在FastDFS源码包中的INSTALL(解压源码包后可以查看该文件,里面包含安装步骤及其他说明)文件中也可以看出应当先安装libfastcommon-master。

INSTALL文件内容部分截图如下:

3.1.2.安装过程

1.上传libfastcommon-master.zip至/usr/softpackages,解压:

[root@centos ~]# cd /usr/softpackages/ [root@centos softpackages]# ls CentOS-6.8-x86_64-bin-DVD1.iso libfastcommon-master.zip [root@centos softpackages]# unzip libfastcommon-master.zip CentOS-6.8-x86_64-bin-DVD1.iso libfastcommon-master libfastcommon-master.zip

2.进入libfastcommon-master目录,执行make.sh编译,

[root@centos softpackages]# cd libfastcommon-master [root@centos libfastcommon-master]# ls doc HISTORY INSTALL libfastcommon.spec make.sh php-fastcommon README src [root@centos libfastcommon-master]# ./make.sh

编译时会出现如下警告,不必理会

3.编译成功后安装

[root@centos libfastcommon-master]# ./make.sh install mkdir -p /usr/lib64 mkdir -p /usr/lib install -m 755 libfastcommon.so /usr/lib64 mkdir -p /usr/local/include/fastcommon install -m 644 common_define.h hash.h chain.h logger.h base64.h shared_func.h pthread_func.h ini_file_reader.h _os_define.h sockopt.h sched_thread.h http_func.h md5.h local_ip_func.h avl_tree.h ioevent.h ioevent_loop.h fast_task_queue.h fast_timer.h process_ctrl.h fast_mblock.h connection_pool.h fast_mpool.h fast_allocator.h fast_buffer.h skiplist.h multi_skiplist.h flat_skiplist.h skiplist_common.h system_info.h fast_blocked_queue.h php7_ext_wrapper.h id_generator.h char_converter.h char_convert_loader.h common_blocked_queue.h multi_socket_client.h /usr/local/include/fastcommon

安装成功

4.完成后,libfastcommon:

库文件位置:/usr/lib64/libfastcommon.so

头文件位置:/usr/local/include/fastcommon/

3.2.安装FastDFS

3.2.1.配置libfastcommon调用

编译FastDFS时,FastDFS中指定的调用libfastcommon头文件的路径是/usr/include/fastcommon,而安装libfastcommon的头文件路径是/usr/local/include/fastcommon,因此需要创建/usr/local/include/fastcommon目录到/usr/include/fastcommon的软链接:

[root@centos FastDFS]# ln -s /usr/local/include/fastcommon /usr/include/fastcommon

3.2.2.安装过程

1.上传FastDFS_v5.08.tar.gz至/usr/softpackages,解压:

[root@centos softpackages]# ls CentOS-6.8-x86_64-bin-DVD1.iso FastDFS_v5.08.tar.gz libfastcommon-master libfastcommon-master.zip [root@centos softpackages]# tar -zxvf FastDFS_v5.08.tar.gz

2.进入FastDFS,执行make.sh编译

[root@centos softpackages]# cd FastDFS [root@centos FastDFS]# ./make.sh

3.编译成功后安装

[root@centos FastDFS]# ./make.sh install mkdir -p /usr/bin mkdir -p /etc/fdfs cp -f fdfs_trackerd /usr/bin if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi mkdir -p /usr/bin mkdir -p /etc/fdfs cp -f fdfs_storaged /usr/bin if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi mkdir -p /usr/bin mkdir -p /etc/fdfs mkdir -p /usr/lib64 cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; cp -f libfdfsclient.a /usr/lib;fi if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; cp -f libfdfsclient.so /usr/lib;fi mkdir -p /usr/include/fastdfs cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi

4.完成后,FastDFS安装位置:

配置文件:/etc/fdfs/

执行程序:/usr/bin/

头文件:/usr/include/fastdfs

第四章 配置FastDFS

配置文件说明:

v/etc/fdfs/tracker.conf.sample:服务端tracker示例配置文件

v/etc/fdfs/storage.conf.sample:服务端storage示例配置文件

v/etc/fdfs/storage.conf.sample:client客户端配置文件

4.1.配置FastDFS跟踪器(Tracker)服务

1.进入/etc/fdfs/目录会看到三个.sample后缀的示例文件,我们需要把其中的tracker.conf.sample文件复制为tracker.conf配置文件并修改它。

[root@centos conf]# cd /etc/fdfs [root@centos fdfs]# ls client.conf.sample storage.conf.sample tracker.conf.sample [root@centos fdfs]# cp tracker.conf.sample tracker.conf

2.编辑# vi /etc/fdfs/tracker.conf文件,修改以下内容

port=22189 #跟踪器端口号给成22189,根据2.3端口规划进行修改,默认是22122 base_path= /home/fastdfs/tracker #该路径必须真实存在,第三步进行创建 #HTTP port on this tracker server将来下载文件的端口 http.server_port=8089 #配置nginx的端口,根据2.3端口规划修改

3.创建tracker server数据目录,/home/fastdfs/tracker目录

[root@centos ~]# mkdir -p /home/fastdfs/tracker

4.2.配置FastDFS存储(Storage)

1.进入/etc/fdfs/目录会看到三个.sample后缀的示例文件,我们需要把其中的storage.conf.sample文件改为storage.conf配置文件并修改它。

[root@centos fdfs]# cp storage.conf.sample storage.conf

2.编辑# vi /etc/fdfs/storage.conf文件,修改以下内容

group_name=group1 port=23089 #存储端口号修改为23089,根据2.3端口规划进行修改,默认23000 base_path=/home/fastdfs/storage #该路径必须真实存在,第三步创建 #store_path 指定存放的文件路径,可以有多个. 如:store_path0, store_path1等。 #store_path0 如果store_path0不指定,那么默认为base_path值。 #如果指定,该路径必须真实存在 store_path0=/home/fastdfs/storage #存放的文件路径,可以配置多个 #store_path1=/home/fastdfs/storage #tracker 服务器地址(局域网IP):端口, 可以指定多个。 tracker_server=10.65.12.89:22189 #本地ip+端口号,根据实际情况修改 # the port of the web server on this storage server 将来下载文件的端口。 http.server_port=8089 #配置nginx的端口,根据2.3端口规划进行修改

3.创建storage 存放文件的目录,/home/fastdfs/storage/目录

[root@centos ~]# mkdir -p /home/fastdfs/storage/

4.3.配置Tracker的客户端配置client

1.复制/etc/fdfs/client.conf.sample为/etc/fdfs/client.conf文件并编辑client.conf,修改以下内容

base_path=/home/fastdfs/tracker tracker_server=10.65.12.89:22189 #本地ip+端口号,根据实际情况修改http.tracker_server_port=8089 #配置nginx的端口,根据2.3端口规划进行修改

4.4.复制FastDFS里的http.conf、mime.types文件,到/etc/fdfs目录中

[root@centos ~]# cp /usr/softpackages/FastDFS/conf/http.conf /etc/fdfs/ [root@centos ~]# cp /usr/softpackages/FastDFS/conf/mime.types /etc/fdfs/

注意:如果缺少这两个文件,nginx在集成ngx_fastdfs_module后,将只能启动master process,而启动不了worker process,导致不能正常使用

4.5.FastDFS启动与关闭

1.启动fdfs_trackerd和fdfs_storaged,要先启动fdfs_trackerd,后启动fdfs_storaged

[root@centos ~]# service fdfs_trackerd start Starting FastDFS tracker server: [root@centos ~]# service fdfs_storaged start Starting FastDFS storage server:

2.查看运行状态

[root@centos ~]# ps -elf | grep -v grep | grep fdfs 1 S fastdfs 27727 1 1 80 0 - 20351 inet_c 19:06 ? 00:00:09 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf 1 S fastdfs 27754 1 0 80 0 - 36207 inet_c 19:09 ? 00:00:01 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

3.查看Storage和Tracker是否在通信:

[root@centos ~]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

注:关闭fdfs_storaged和fdfs_trackerd的命令如下:

[root@centos ~]# service fdfs_storaged stop [root@centos ~]# service fdfs_trackerd stop

4.6.文件上传测试

[root@centos ~]#/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/softpackages/test.txt group1/M00/00/00/wKguEluKunWARB81AAAAE1tMD1U544.txt

返回文件ID即说明文件已经上传成功,这里是将/usr/softpackages/目录中的文件“test.txt”上传到fastdfs服务器中。

第五章 FastDFS的nginx插件安装及配置

1.上传fastdfs-nginx-module_v1.16.tar.gz源码包和nginx-1.8.1.tar.gz源码包至/usr/softpackages,解压:

[root@centos softpackages]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz [root@centos softpackages]# tar -zxvf nginx-1.8.1.tar.gz

2.修改fastdfs-nginx-module中指向libfastcommon和FastDFS头文件的路径。

/usr/softpackages/fastdfs-nginx-module/src/config文件修改前的内容如下:

三个红框部分:

v/usr/local/include/fastdfs:FastDFS头文件的路径,安装FastDFS时,安装路径是/usr/include/fastdfs,因此需要修改;

v/usr/local/include/fastcommon/:libfastcommon文件路径,安装libfastcommon时,安装路径是/usr/local/include/fastcommon,故不需要修改;

v/usr/local/lib -lfastcommon -lfdfsclient :调用lfastcommon.so 和lfdfsclient .so的路径,安装libfastcommon时,这两个文件路径是/usr/lib64,因此需要修改。

修改后的结果如下:

3.复制fastdfs-nginx-module源码中的配置文件到/etc/fdfs

/usr/softpackages/fastdfs-nginx-module/src/config文件中有如下内容(图中红框):

[root@centos ~]# cp /usr/softpackages/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

4.编辑/etc/fdfs/mod_fastdfs.conf

base_path=/home/fastdfs/storage tracker_server=10.65.12.89:22189 storage_server_port=23089 group_name=group1 #默认的不需要修改 url_have_group_name = true #默认false,改成true store_path0=/home/fastdfs/storage

5.创建一个软连接:在/home/fastdfs/storage/文件存储目录下创建软连接,将其链接到实际存放数据的目录。命令:ln -s /home/fastdfs/storage/data/ /home/fastdfs/storage/data/M00

[root@bogon ~]# ln -s /home/fastdfs/storage/data/ /home/fastdfs/storage/data/M00

第六章 Nginx安装及配置

nginx中HTTP gzip module (HTTP gzip模块)需要的zlib库,HTTP rewrite module(HTTP重写模块)模块需要的pcre库,ssl功能需要的openssl库。检查CentOS6.8中均已安装,但是默认的版本不对,需要安装zlib-devel、pcre-devel、openssl-devel

[root@centos ~]# yum -y install zlib-devel pcre-devel openssl-devel

6.1.安装前的配置

1.修改nginx安装配置文件以集成fastdfs-nginx-module

[root@centos softpackages]# cd nginx-1.8.1 [root@centos nginx-1.8.1]# ls auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src [root@centos nginx-1.8.1]# ./configure --add-module=/usr/softpackages/fastdfs-nginx-module/src #加载fastdfs-nginx-module模块,其他如安装路径等均默认

6.2.编译及安装

6.2.1.编译

[root@centos nginx-1.8.1]# make

6.2.2.安装

[root@centos nginx-1.8.1]# make install

安装到了/usr/local/nginx

6.3.配置

编辑nginx的配置文件,/usr/local/nginx/conf/nginx.conf,修改以下部分配置:

server {

listen 8089;

server_name localhost;

location /group1/M00 {

root /home/fastdfs/storage/data;

ngx_fastdfs_module;

}

第七章 nginx启动关闭

1.启动,进入nginx安装目录

[root@bogon nginx]# /usr/local/nginx/sbin/nginx ngx_http_fastdfs_set pid=5275

[root@centos ~]# ps -ef | grep nginx | grep -v grep root 2390 1 0 02:18 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx nobody 2391 2390 0 02:18 ? 00:00:00 nginx: worker process

master process和worker process都有才算启动成功

在浏览器中输入http://ip:8089看到如下内容说明启动成功:

2.关闭

[root@bogon nginx]# /usr/local/nginx/sbin/nginx -s stop

3.重载

[root@bogon nginx]# /usr/local/nginx/sbin/nginx -s reload

4.文件服务器访问路径

http://ip:8089/group1/M00/00/00/文件名

第八章 设置FastDFS与Nginx开机自启动

1.设置fdfs_tracker开机自启动

首先进入/etc/rc.d/init.d/文件夹下,查看是否有fdfs_tracker文件,如果没有需要执行cp FastDFS/init.d/fdfs_trackerd /etc/init.d/ 命令将fdfs_tracker文件复制到/etc/rc.d/init.d/文件夹下。

注册fdfs_tracker服务:

[root@centos ~]# chkconfig --add fdfs_trackerd

设置fdfs_tracker服务开机自启:

[root@centos ~]# chkconfig fdfs_trackerd on

查看fdfs_tracker服务:

[root@centos ~]# chkconfig --list fdfs_trackerd

在这里我们可以看到fdfs_tracker服务中2、3、4、5为启动状态,进入/etc/rc.d/文件夹中可以看到rc0.d~rc6.d文件夹,分别对应了fdfs_tracker服务中0~6状态。

进入rc2.d~rc5.d文件夹,将里面 S99fdfs_trackerd文件重命名成S98fdfs_trackerd。

注:rc.d文件夹中rc*.d文件夹下的启动脚本都是以K**、S**为前缀的,其中的**是用来确定启动顺序的,**数字越小,服务越先启动,新注册的服务默认为S99为前缀,因此需要将S99fdfs_trackerd文件重命名成S98fdfs_trackerd保证fdfs_tracker在fdfs_storaged 之前启动。

2.设置fdfs_storaged开机自启动

首先进入/etc/rc.d/init.d/文件夹下,查看是否有fdfs_storaged文件,如果没有需要执行cp FastDFS/init.d/fdfs_storaged /etc/init.d/ 命令将fdfs_storaged文件复制到/etc/rc.d/init.d/文件夹下。

注册fdfs_storaged服务:

[root@centos ~]# chkconfig --add fdfs_storaged

设置fdfs_storaged服务开机自启:

[root@centos ~]# chkconfig fdfs_storaged on

查看fdfs_storaged服务:

[root@centos ~]# chkconfig --list fdfs_storaged

3. 设置Nginx开机自启

在linux系统的/etc/init.d/目录下创建nginx文件:

编辑nginx文件:

#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: NGINX is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /etc/nginx/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /var/run/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/etc/nginx/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() { # make required directories user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` if [ -z "`grep $user /etc/passwd`" ]; then useradd -M -s /bin/nologin $user fi options=`$nginx -V 2>&1 | grep 'configure arguments:'` for opt in $options; do if [ `echo $opt | grep '.*-temp-path'` ]; then value=`echo $opt | cut -d "=" -f 2` if [ ! -d "$value" ]; then # echo "creating" $value mkdir -p $value && chown -R $user $value fi fi done } start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 make_dirs echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop sleep 1 start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac

注:nginx=”/usr/sbin/nginx” 修改成nginx执行程序的路径。

/usr/local/nginx/sbin/nginx

NGINX_CONF_FILE=”/etc/nginx/nginx.conf” 修改成配置文件的路径。

保存脚本文件后设置文件的执行权限:

[root@centos ~]# chmod a+x /etc/init.d/nginx

[root@centos ~]# chkconfig --add nginx

设置nginx服务开机自启:

[root@centos ~]# chkconfig nginx on

设置完成后使用reboot命令重启,查看设置是否成功。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一章 原理
    • 1.1.概述
      • 1.2.FastDFS的存储策略
        • 1.3.FastDFS的上传过程
          • 1.4.FastDFS文件同步
            • 1.5.FastDFS文件下载
            • 第二章 准备工作
              • 2.1.准备环境
                • 2.2.添加本地yum源
                  • 2.3.安装gcc
                    • 2.4.端口规划
                      • 2.5.设置防火墙以使以上三个端口能够通过
                      • 第三章 安装FastDFS
                        • 3.1.安装libfastcommon-master
                          • 3.1.1.为何要安装libfastcommon-master
                          • 3.1.2.安装过程
                        • 3.2.安装FastDFS
                          • 3.2.1.配置libfastcommon调用
                          • 3.2.2.安装过程
                      • 第四章 配置FastDFS
                        • 4.1.配置FastDFS跟踪器(Tracker)服务
                          • 4.2.配置FastDFS存储(Storage)
                            • 4.3.配置Tracker的客户端配置client
                              • 4.4.复制FastDFS里的http.conf、mime.types文件,到/etc/fdfs目录中
                                • 4.5.FastDFS启动与关闭
                                  • 4.6.文件上传测试
                                  • 第五章 FastDFS的nginx插件安装及配置
                                  • 第六章 Nginx安装及配置
                                    • 6.1.安装前的配置
                                      • 6.2.编译及安装
                                        • 6.2.1.编译
                                        • 6.2.2.安装
                                      • 6.3.配置
                                      • 第七章 nginx启动关闭
                                      • 第八章 设置FastDFS与Nginx开机自启动
                                      相关产品与服务
                                      文件存储
                                      文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档