https://github.com/Ehco1996/django-sspanel/wiki/%E9%9D%A2%E6%9D%BF%E9%83%A8%E7%BD%B2

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

部署方式

Nginx > uwsgi > Django

前置组件

  • lnmp
  • pyenv
  • Python3
  • uwsgi

详细步骤:

STEP 1:

安装lnmp

有能力的可以自行编译安装,实际需要的组件是 Nginx & Mysql

这里推荐使用军哥的一件LNMP脚本安装,地址:https://lnmp.org/install.html

STEP 2:

安装pyenv

地址:https://github.com/pyenv/pyenv

如果觉得复杂,可以使用一件脚本

$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

  1. 在你想要安装PYENV的目录

     $ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
    
  2. 添加命令行环境变量

    $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
  3. 增加 pyenv init 到SHELL

    $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
  4. 重启命令行环境,使得命令生效

    $ exec "$SHELL"
  5. 安装 Python3

    $ pyenv install 3.6.1

STEP 3:

创建虚拟运行环境

  1. 创建Django-sspanel 运行的虚拟环境
$ pyenv virtualenv 3.6.1 venv-sspanel
  1. 切换到www网站目录
$ cd /home/www/

STEP 4:

Clone并编写配置

  1. clone 项目到本地
$ git clone https://github.com/Ehco1996/django-sspanel.git
  1. 将项目文件夹的环境设置为 virtualenv
$ pyenv local venv-sspanel
    # 这个时候,我们就有一个干净的Python运行环境了
  1. 安装项目所需的第三方包
$ cd /home/www/django-sspanel # 进入项目目录
    # cent os 需要手动安装mysqlclient
    $ sudo yum install python-devel mysql-devel
    $ sudo yum install python3-devel
    $ pip3 install mysqlclient
    
    # 最后安装其他第三方包
    $ pip install -r requirements.txt
  1. 编写自定义配置
$ cd django-sspanel # 进入项目配置文件夹
    $ nano simple_setting_product.py # 编写配置
# DEBUG设置
DEBUG = False

# 域名设置 
# 修改为自己的域名
ALLOWED_HOSTS = [
        'www.ehcozone.club',
        'ehcozone.club',
]

# mysql 设置
# 修改为自己的配置
DATABASES = {

    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'sspanel',
        'USER': 'root',
        'PASSWORD': 'pass',
        'HOST': '127.0.0.1',
        'PORT': '3306',

    }
}

# 邮件服务设置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# 我使用163邮箱作为smtp服务器
EMAIL_USE_TLS = False
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = 'USER'
EMAIL_HOST_PASSWORD = 'PASS'
DEFAULT_FROM_EMAIL = 'USERNAME
' # SS面板设置: MB = 1024 *1024 GB = 1024 * 1024 * 1024 DEFAULT_TRAFFIC = 5 * GB START_PORT = 10000 # 签到流量设置 MIN_CHECKIN_TRAFFIC = 10 * MB MAX_CHECKIN_TRAFFIC = 200 * MB # 是否启用支付宝系统(需要配置支付宝当面付插件) USE_ALIPAY = True # 网站title TITLE = '谜之屋' SUBTITLE = '秘密的小屋' # 网站邀请界面提示语 INVITEINFO = '邀请码实时更新,如果用完了进进telegram群问bot要 群链接:https://t.me/Ehcobreakwa11'
  1. 建立sspanel数据库
$  mysql -uroot -p # 输入安装lnmp时mysql的密码
    $  create database sspanel; # 创建数据库
  1. 测试项目是否正常运行
$  cd .. # 切回项目根目录
    $  python manage.py migrate # 通过djang ORM 建立所需数据库表   
    $  python manage.py runserver # 测试项目是否运行
  1. 创建管理员账号
$  python manage.py createsuperuser # 按照提示创建即可

如果没有报错,那么恭喜你,这一步你成功了。 如果报错了,根据信息来慢慢解决。

STEP 5:

编写Nginx 和 uwsgi 配置

$  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后台绑定一下

只有管理员才需要这个步骤,正常通过注册生成的用户会自动绑定的

具体步骤:

  • 登录管理账号
  • 进入django后台
  • 选择ssserver应用下的ss账户
  • 点击右上角的添加账号
  • 绑定自己的管理员账号
  • © 2017 GitHub, Inc.

转载于:https://my.oschina.net/yonghan/blog/1543964

你可能感兴趣的:(https://github.com/Ehco1996/django-sspanel/wiki/%E9%9D%A2%E6%9D%BF%E9%83%A8%E7%BD%B2)