django+nginx+fastdfs配置

1 篇文章 0 订阅
0 篇文章 0 订阅

1.安装fastdfs依赖包
解压 libfastcommon-master.zip
进入解压包
执行 ./make.sh
执行 sudo ./make.sh install

2.安装fastdfs
步骤和上面一样

3.配置跟踪服务器tracker
首先copy 系统文件 sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
在/home/python/目录中创建目录 fastdfs/tracker
mkdir -p /home/python/fastdfs/tracker
之后就是编辑/etc/fdfs/tracker.conf配置文件:sudo vi /etc/fdfs/tracker.conf
修改bath_path = 上面创建的目录

4.配置存储服务器storage
首先copy系统文件 sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
之后创建目录 mkdir -p /home/python/fastdfs/storage
编辑配置文件:sudo vi /etc/fdfs/storage.conf
修改 bath_path = 上面创建的目录
store_path0 = 上面创建的目录
tracker_server = 自己虚拟机的ip地址L:22122

5.启动tracker和storage
sudo service fdfs_trackerd start
sudo service fdfs_storaged strat

6.测试是否安装成功
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
修改上面的文件:
base_path = /home/python/fastdfs/tracker
tracker_server = 自己虚拟机的ip地址:22122
fdfs_uoload_file /etc/fdfs/client.conf + 要上传的文件

7.安装nginx
解压nginx包
解压fastdfs-nginx-module-master.zip
进入nginx包内
执行:sudo ./cpnfigure --prefix=/usr/loacl/nginx/ --add-module=fastdfs-nginx-module-master 解压后的目录的绝对路径/src
sudo make
sudo make install
sudo cp fastdfs-nginx-module解压后的目录中src下的mod_fastdfs.conf /etc/fdfs/mod_fastds.conf
sudo vi /etc/fdfs/mod_fastdfs.conf
修改内容:
connect_timeout = 10
tracker_server = 自己虚拟机的ip地址:22122
url_have_group_name = true
store_path0=/home/python/fastdfs/storage
sudo cp 解压缩后的fastdfs目录中的http.conf /etc/fdfs/http.conf
sudo cp 解压缩后的fastdfs-master目录中的mime.types /etc/fdfs/mime.types
sudo vi /usr/local/nginx/conf/nginx.conf
在http部分中添加配置信息如下:
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
启动nginx即可 sudo ./nginx

8.使用python客户端上传
首先安装一个包 fdfs_client-py-master.zip
pip install fdfs_client-py-master.zip

修改三个文件的tracker_server=自己虚拟机的ip地址:22122
三个文件分别为 client.conf mod_fastdfs.conf storage.conf
重启tracker和storage nginx

9.用python与fdfs交互
创建utils/fdfs/storage.py
放入client.conf 修改bath_pase tracker_server
在storage.py放如下内容:

自定义文件存储类

from django.core.files.storage import Storage
from django.conf import settings
from fdfs_client.client import Fdfs_client

class FDFSStorage(Storage):
‘’‘fast dfs文件存储类’’’
def init(self, client_conf=None, base_url=None):
‘’‘初始化’’’
if client_conf is None:
client_conf = settings.FDFS_CLIENT_CONF
self.client_conf = client_conf

    if base_url is None:
        base_url = settings.FDFS_URL
    self.base_url = base_url

def _open(self, name, mode='rb'):
    '''打开文件时使用'''
    pass

def _save(self, name, content):
    # name 你选择上传文件的名字
    # content 包含你上传文件内容的File对象

    # 创建一个fdfs_client对象
    client = Fdfs_client(self.client_conf)

    # 上传文件到fsat_fdfs系统
    res = client.upload_by_buffer(content.read())

    if res.get('Status') != 'Upload successed.':
        # 上传失败
        raise Exception('上传文件到fast_fdfs失败')

    filename = res.get('Remote file_id')

    return filename

def exists(self, name):
    return False

def url(self, name):
    '''返回访问文件'''
    return self.base_url + name

9 在配置setting

设置django的文件存储类

DEFAULT_FILE_STORAGE = ‘utils.fdfs.storage.FDFSStorage’

设置fdfs使用的client.conf文件路径

FDFS_CLIENT_CONF = ‘./utils/fdfs/client.conf’

设置fdfs存储服务器上nginx的IP端口号

FDFS_URL = ‘http://192.168.50.134:8888/’

connect_timeout = 10
tracker_server = 自己虚拟机的ip地址:22122
url_have_group_name = true
store_path0=/home/python/fastdfs/storage

sudo cp 解压缩后的fastdfs目录中的http.conf /etc/fdfs/http.conf
sudo cp 解压缩后的fastdfs-master目录中的mime.types /etc/fdfs/mime.types
sudo vi /usr/local/nginx/conf/nginx.conf
在http部分中添加配置信息如下:
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
启动nginx即可 sudo ./nginx

8.使用python客户端上传
首先安装一个包 fdfs_client-py-master.zip
pip install fdfs_client-py-master.zip

修改三个文件的tracker_server=自己虚拟机的ip地址:22122
三个文件分别为 client.conf mod_fastdfs.conf storage.conf
重启tracker和storage nginx

9.用python与fdfs交互
创建utils/fdfs/storage.py
放入client.conf 修改bath_pase tracker_server
在storage.py放如下内容:

自定义文件存储类

from django.core.files.storage import Storage
from django.conf import settings
from fdfs_client.client import Fdfs_client

class FDFSStorage(Storage):
‘’‘fast dfs文件存储类’’’
def init(self, client_conf=None, base_url=None):
‘’‘初始化’’’
if client_conf is None:
client_conf = settings.FDFS_CLIENT_CONF
self.client_conf = client_conf

    if base_url is None:
        base_url = settings.FDFS_URL
    self.base_url = base_url

def _open(self, name, mode='rb'):
    '''打开文件时使用'''
    pass

def _save(self, name, content):
    # name 你选择上传文件的名字
    # content 包含你上传文件内容的File对象

    # 创建一个fdfs_client对象
    client = Fdfs_client(self.client_conf)

    # 上传文件到fsat_fdfs系统
    res = client.upload_by_buffer(content.read())

    if res.get('Status') != 'Upload successed.':
        # 上传失败
        raise Exception('上传文件到fast_fdfs失败')

    filename = res.get('Remote file_id')

    return filename

def exists(self, name):
    return False

def url(self, name):
    '''返回访问文件'''
    return self.base_url + name

9 在配置setting

设置django的文件存储类

DEFAULT_FILE_STORAGE = ‘utils.fdfs.storage.FDFSStorage’

设置fdfs使用的client.conf文件路径

FDFS_CLIENT_CONF = ‘./utils/fdfs/client.conf’

设置fdfs存储服务器上nginx的IP端口号

FDFS_URL = ‘http://192.168.50.134:8888/’
1.安装fastdfs依赖包
解压 libfastcommon-master.zip
进入解压包
执行 ./make.sh
执行 sudo ./make.sh install

2.安装fastdfs
步骤和上面一样

3.配置跟踪服务器tracker
首先copy 系统文件 sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
在/home/python/目录中创建目录 fastdfs/tracker
mkdir -p /home/python/fastdfs/tracker
之后就是编辑/etc/fdfs/tracker.conf配置文件:sudo vi /etc/fdfs/tracker.conf
修改bath_path = 上面创建的目录

4.配置存储服务器storage
首先copy系统文件 sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
之后创建目录 mkdir -p /home/python/fastdfs/storage
编辑配置文件:sudo vi /etc/fdfs/storage.conf
修改 bath_path = 上面创建的目录
store_path0 = 上面创建的目录
tracker_server = 自己虚拟机的ip地址L:22122

5.启动tracker和storage
sudo service fdfs_trackerd start
sudo service fdfs_storaged strat

6.测试是否安装成功
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
修改上面的文件:
base_path = /home/python/fastdfs/tracker
tracker_server = 自己虚拟机的ip地址:22122
fdfs_uoload_file /etc/fdfs/client.conf + 要上传的文件

7.安装nginx
解压nginx包
解压fastdfs-nginx-module-master.zip
进入nginx包内
执行:sudo ./cpnfigure --prefix=/usr/loacl/nginx/ --add-module=fastdfs-nginx-module-master 解压后的目录的绝对路径/src
sudo make
sudo make install
sudo cp fastdfs-nginx-module解压后的目录中src下的mod_fastdfs.conf /etc/fdfs/mod_fastds.conf
sudo vi /etc/fdfs/mod_fastdfs.conf
修改内容:
connect_timeout = 10
tracker_server = 自己虚拟机的ip地址:22122
url_have_group_name = true
store_path0=/home/python/fastdfs/storage
sudo cp 解压缩后的fastdfs目录中的http.conf /etc/fdfs/http.conf
sudo cp 解压缩后的fastdfs-master目录中的mime.types /etc/fdfs/mime.types
sudo vi /usr/local/nginx/conf/nginx.conf
在http部分中添加配置信息如下:
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
启动nginx即可 sudo ./nginx

8.使用python客户端上传
首先安装一个包 fdfs_client-py-master.zip
pip install fdfs_client-py-master.zip

修改三个文件的tracker_server=自己虚拟机的ip地址:22122
三个文件分别为 client.conf mod_fastdfs.conf storage.conf
重启tracker和storage nginx

9.用python与fdfs交互
创建utils/fdfs/storage.py
放入client.conf 修改bath_pase tracker_server
在storage.py放如下内容:

自定义文件存储类

from django.core.files.storage import Storage
from django.conf import settings
from fdfs_client.client import Fdfs_client

class FDFSStorage(Storage):
‘’‘fast dfs文件存储类’’’
def init(self, client_conf=None, base_url=None):
‘’‘初始化’’’
if client_conf is None:
client_conf = settings.FDFS_CLIENT_CONF
self.client_conf = client_conf

    if base_url is None:
        base_url = settings.FDFS_URL
    self.base_url = base_url

def _open(self, name, mode='rb'):
    '''打开文件时使用'''
    pass

def _save(self, name, content):
    # name 你选择上传文件的名字
    # content 包含你上传文件内容的File对象

    # 创建一个fdfs_client对象
    client = Fdfs_client(self.client_conf)

    # 上传文件到fsat_fdfs系统
    res = client.upload_by_buffer(content.read())

    if res.get('Status') != 'Upload successed.':
        # 上传失败
        raise Exception('上传文件到fast_fdfs失败')

    filename = res.get('Remote file_id')

    return filename

def exists(self, name):
    return False

def url(self, name):
    '''返回访问文件'''
    return self.base_url + name

9 在配置setting

设置django的文件存储类

DEFAULT_FILE_STORAGE = ‘utils.fdfs.storage.FDFSStorage’

设置fdfs使用的client.conf文件路径

FDFS_CLIENT_CONF = ‘./utils/fdfs/client.conf’

设置fdfs存储服务器上nginx的IP端口号

FDFS_URL = ‘http://192.168.50.134:8888/’

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值