##192.168.29.18(主)
port 8000 //端口 bind
192.168.18 127.0.0.1 //redis 在 server 上所有有效的网络接口上监听客户端连接,多个IP用空格隔开 daemonize yes
//redis后台运行 pidfile /var/run/redis_8000.pid requirepass root
//设置认证密码
##192.168.29.19(从) port 8001 //端口 bind 192.168.19 127.0.0.1 //redis 在
server 上所有有效的网络接口上监听客户端连接,多个IP用空格隔开 daemonize yes
//redis后台运行 pidfile /var/run/redis_8001.pid slaveof
192.168.29.19 8001 //slaveof 主机ip 端口号 masterauth root //主机认证密码
##192.168.29.18(主) 检查服务是否开启 $ ps -ef | grep redis //redis是否启动成功 $ netstat -tnlp | grep redis //监听redis端口
##主 -p 端口号 -a 主机验证密码 -h 默认为127.0.0.1
##客户端连接命令 $ /usr/local/redis-3.2.8/src/redis-cli -p 8000 -a root
##从机 $ /usr/local/redis-3.2.8/src/redis-cli -p 8001
## 127.0.0.1:8001> info Replication 查看主从连接关系
pip install eventlet
celery -A worker -l info -P eventlet
屏蔽第12行 # from fdfs_client.sendfile import *
文件例子如下
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # filename: storage_cliet.py
4
5 import os, stat
6 import struct
7 import socket
8 import datetime
9 import errno
10 from fdfs_client.fdfs_protol import *
11 from fdfs_client.connection import *
12 # from fdfs_client.sendfile import * 屏蔽我~
13 from fdfs_client.exceptions import (
14 FDFSError,
15 ConnectionError,
16 ResponseError,
17 InvaildResponse,
18 DataError
19 )
解压后的fdfs_client-py-master 目录下的setup.py
屏蔽sdict字典中的 `'ext_modules'`
示例如下:
sdict = {
'name': 'fdfs_client-py',
'version': __version__,
'description': 'Python client for Fastdfs ver 4.06',
'long_description': long_description,
'author': 'scott yuan',
'author_email': '[email protected]',
'maintainer': 'scott yuan',
'maintainer_email': '[email protected]',
'keywords': ['Fastdfs', 'Distribute File System'],
'license': 'GPLV3',
'packages': ['fdfs_client'],
'classifiers': [
'Development Status :: 1 - Production/Beta',
'Environment :: Console',
'Intended Audience :: Developers',
'License :: GPLV3',
'Operating System :: OS Independent',
'Programming Language :: Python'],
#'ext_modules'[Extension('fdfs_client.sendfile',
# sources=['fdfs_client/sendfilemodule.c'])], 屏蔽我~
}
使用沙箱模拟环境实现支付功能(支付宝开发者中心) appid 2016102400752281 ①pip install python-alipay-sdk --upgrade 一定要更新到最新
使用inspec模块查看相关类和函数的使用方法,参数和源代码***(app_private_key_path参数不能用,只能使用app_private_key_string)***
一定要使用app_private_key_string=open(‘app_private_key.pem’,'r','utf-8').read()
读取秘钥,否则会出现格式错误(直接复制不行的)
直接定义长字符串会变成tuple类型
沙箱账号第一次支付成功,后面会提示钓鱼网站风险 重启才好解决
sudo service fdfs_trackerd start
sudo service fdfs_trackerd stop
sudoservice fdfs_storaged start
sudo service fdfs_storaged stop
但是云端不能启动,需要直接绝对路径:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
解决:修改 /etc/fdfs/storage.conf 中的 tracker_server
. . . .将:tracker_server=127.0.0.1:22122
修改为:tracker_server=xxx.xxx.xxx.xxx:22122(对应自己的ip)
make[1]: *** [objs/src/core/ngx_murmurhash.o] Error 1
make[1]: Leaving directory '/home/ubuntu/DDSX/nginx-1.8.1'
Makefile:8: recipe for target 'build' failed
make: *** [build] Error 2
解决方案https://blog.csdn.net/qq_36638599/article/details/79424878
完美解决https://blog.csdn.net/u010889616/article/details/82867091
nginx访问fdfs分布式系统的时候,nginx的配置文件开头要加user root
,不然文件上传成功之后还是无法访问的。
django 数据库在建表时候一定要记得设置编码类型utf-8,否则后续重设要删除再来
云端运行的话runserver 0.0.0.0:8000 同时ALLOWED_HOSTS = “*”
腾讯云服务器会禁用邮件发送的端口,需要申请解禁 在后台的安全管控中,选择25端口解封
uwsgi运行的环境问题,因为没有建立虚拟环境。所以要制定python3环境运行
pip3 install uwsgi
运行的时候就要使用
uwsgi_python36 –-ini uwsgi.ini (implicit plugin requested python36)
配置文件加上:
plugin: python3
uwsgi_python36 –-stop uwsgi.pid 停止运行
后台运行celery nohup celery -A tasks worker -l info -P eventlet &
(运行状况,查看nohup.out日志指定运行状况)
uwsgi运行,静态文件的页面错乱不好用(原因是因为静态文件在DEBUG=true时django框架会帮忙处理;false的时候django也不会帮忙处理)所以后续静态文件nginx来处理
静态页面渲染完成的时候,会出现usr/order 的url路径匹配报错 需要在父模板加上page参数,严格匹配正则表达式
云服务启动流程
①开启redis服务
sudo redis-server /etc/redis/redis.conf
②开启fdfs服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
③开启uwsgi服务
uwsgi_python36 --ini uwsgi.ini
uwsgi_python36 --ini uwsgi2.ini
④启动nginx
sudo /usr/local/nginx/sbin/nginx
⑤启用后台celery
nohup celery -A tasks worker -l info -P eventlet &