面板部署 - wilia/django-sspanel GitHub Wiki
How to deploy the django-sspanel on your own VPS.
谜之屋部署教程 (默认以 Centos 7)
谜之屋需要使用对应版本的后端才能拥有完整功能:[具体可以看这里](https://github.com/Ehco1996/django-sspanel/wiki/%08%E8%8A%82%E7%82%B9%E9%83%A8%E7%BD%B2)
同时需要将后端服务器的时区设置为上海:
timedatectl set-timezone Asia/Shanghai
STEP 1:
有能力的可以自行编译安装,实际需要的组件是 Nginx & Mysql
如果啥都不懂推荐使用军哥的一件LNMP脚本安装,地址:https://lnmp.org/install.html
STEP 2:
如果觉得复杂,可以使用一件脚本
脚本跑完之后会有提示 按照提示修改自己的`~/.bash_profile
# 打开配置文件
nano ~/.bash_profile
# 复制刚才提示中的类似这三段
# 不能直接复制我的,每个人的不一样
export PATH="/home/ehco/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-"
# 使自己的profile生效
source ~/.bash_profile
安装 Python3
# 安装前置依赖
yum -y install gcc
yum -y install make
yum -y install zlib zlib-devel
yum -y install readline readline-devel readline-static
yum -y install openssl openssl-devel openssl-static
yum -y install sqlite-devel
yum -y install bzip2-devel bzip2-libs
yum -y install python-devel mysql-devel
yum -y install python3-devel
# 安装Python3
$ pyenv install 3.6.1
STEP 3:
-
创建Django-sspanel 运行的虚拟环境
$ pyenv virtualenv 3.6.1 venv-sspanel
-
切换到www网站目录
$ cd /home/www/
STEP 4:
-
clone 项目到本地
$ git clone -b master https://github.com/Ehco1996/django-sspanel.git
-
将项目文件夹的环境设置为 virtualenv
$ pyenv local venv-sspanel
# 这个时候,我们就有一个干净的Python运行环境了
-
安装项目所需的第三方包
$ cd /home/www/django-sspanel # 进入项目目录 # cent os 需要手动安装mysqlclient $ pip3 install mysqlclient # 最后安装其他第三方包 $ pip install -r requirements.txt
-
编写自定义配置
$ cd django-sspanel # 进入项目配置文件夹 $ nano simple_setting_product.py # 编写配置
# DEBUG设置
DEBUG = False
# 域名设置
ALLOWED_HOSTS = [
'your.domain.com'
]
# mysql 设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sspanel',
'USER': 'root',
'PASSWORD': 'pass',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
'autocommit': True,
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
'charset': 'utf8mb4',
},
}
}
# 是否开启邮件功能
USE_SMTP = True
# 邮件服务设置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# 是否开启ssl/tls
EMAIL_USE_TLS = False
EMAIL_USE_SSL = False
# 我使用163邮箱作为smtp服务器
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = 'USER'
EMAIL_HOST_PASSWORD = 'PASS'
DEFAULT_FROM_EMAIL = 'xx<ADDRESS>'
# SS面板设置:
MB = 1024 * 1024
GB = 1024 * 1024 * 1024
DEFAULT_TRAFFIC = 5 * GB
START_PORT = 1024
# 默认加密混淆协议
DEFAULT_METHOD = 'aes-256-cfb'
DEFAULT_PROTOCOL = 'origin'
DEFAULT_OBFS = 'plain'
# 签到流量设置
MIN_CHECKIN_TRAFFIC = 10 * MB
MAX_CHECKIN_TRAFFIC = 200 * MB
# 是否启用支付宝系统
USE_ALIPAY = True
# 支付订单提示信息 修改请保留 {} 用于动态生成金额
ALIPAY_TRADE_INFO = '谜之屋的{}元充值码'
# 是否开启91pay 第三方接口
# 91PAY 、ALIPAY只能开启一项
# 需要授权请联系:
# https://t.me/gh012363 或者QQ群538609570
USE_91PAY = False
ID_91PAY='123'
USER_91PAY='ehco'
# 网站title
TITLE = '谜之屋'
SUBTITLE = '秘密的小屋'
# 用户邀请返利比例
INVITE_PERCENT = 0.2
# 用户能生成的邀请码数量
INVITE_NUM = 5
# 网站邀请界面提示语
INVITEINFO = '邀请码实时更新,如果用完了进telegram群 群链接:https://t.me/Ehcobreakwa11'
# 网站域名设置(请正确填写,不然订阅功能会失效:
HOST = 'https://www.ehcozone.ml/'
-
建立sspanel数据库
$ mysql -uroot -p # 输入安装lnmp时mysql的密码 $ create database sspanel; # 创建数据库
-
测试项目是否正常运行
$ cd .. # 切回项目根目录 $ python manage.py migrate # 通过djang ORM 建立所需数据库表 $ python manage.py runserver # 测试项目是否运行
-
创建管理员账号
$ python manage.py createsuperuser # 按照提示创建即可
如果没有报错,那么恭喜你,这一步你成功了。 如果报错了,根据信息来慢慢解决。
STEP 5:
$ nano nginx_vhost.conf #
server
{
listen 80;
server_name www.ehcozone.club; # 项目域名
root /home/www/django-sspanel; # 项目的目录
location /media {
alias /home/www/django-sspanel/media; # your Django project's media files - amend as required
}
location /static
{
alias /home/www/django-sspanel/static; #静态文件地址,js/css
expires 12h;
}
location /
{
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
}
将配置文件复制到Nginx配置目录
$ cp nginx_vhost.conf /usr/local/nginx/conf/vhost/projectname.conf
配置uwsgi
$ nano uwsgi.ini
[uwsgi]
# variables
projectname = django-sspanel # 项目名字
projectdomain = 'ehcozone.club' # 项目域名
base = /home/www/django-sspanel
# config
chdir= /home/www/django-sspanel/
plungins = python
socket = 127.0.0.1:8080 # 运行端口
module = django-sspanel.wsgi:application
pidfile = /tmp/django-sspanel.pid # pid文件
master = True
vacuum = True
$ python manage.py crontab add
运行项目
$ uwsgi uwsgi.ini
ok,不出意外项目已经跑起来了
PS:管理员账号登录之后,先得去django后台绑定一下
只有管理员才需要这个步骤,正常通过注册生成的用户会自动绑定的
具体步骤:
* 输入 域名/admin
进入django后台
* 登录管理员账号
* 选择ssserver应用下的ss账户
* 点击右上角的添加账号
* 绑定自己的管理员账号