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

news/2024/7/24 7:19:29 标签: git, 运维, python

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<ADDRESS>'

# 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


http://www.niftyadmin.cn/n/1575865.html

相关文章

JAVA8-Function接口

Java 8的Function接口学习(compose和andThen) Java8增加了函数式编程这一新特性&#xff0c;我这几天也在慢慢学习&#xff0c;现在就来讲讲Function接口。 何为Function接口&#xff1f; 在java8以后的接口可以有接口方法的默认实现了&#xff0c;如下所示&#xff0c;Funct…

HTTP协议—— 简单认识TCP/IP协议

大学没读计算机专业&#xff0c;所以很多的专业知识都不知道。既然已经从事了IT这个行业&#xff0c;就势必要去了解下网络底层&#xff0c;虽然实际工作中这些东西用不到。高楼大厦&#xff0c;起于平川。不积跬步&#xff0c;无以至千里&#xff0c;不积小流&#xff0c;无以…

Unity3D-RayMarch-几何图元1-添加基本着色模型

效果图&#xff1a; 使用phong着色模型&#xff0c;将环境光、物体的漫反射光、镜面光三种光效加合而得到上图的效果 raymarch 的shader代码&#xff1a; // Upgrade NOTE: replaced _Object2World with unity_ObjectToWorldShader "RayMarch/Primitives1_phong" {Pr…

JAVA8-Future和CompletableFuture

​​​​​​Future和CompletableFuture Future 从JDK1.5开始&#xff0c;提供了Future来表示异步计算的结果&#xff0c;一般它需要结合ExecutorService&#xff08;执行者&#xff09;和Callable&#xff08;任务&#xff09;来使用。 示例 import java.util.*; import jav…

Spring MVC面试问题

针对Java程序员的20个Spring MVC面试问题 不用多说&#xff0c;这里是我从Java访谈中常见的一些常见问题的Spring MVC问题列表&#xff0c;特别是来自Web开发职位。 1. MVC是设计模式的缩写。它代表什么&#xff0c;它背后的想法是什么&#xff1f; 答案&#xff1a;MVC是Mo…

前端学习整理资料(未完待续)

前端月刊&#xff1a;https://www.kancloud.cn/jsfro... 周刊文章http://ourjs.com/http://www.feweekly.com/issueshttp://fex.baidu.com/weekly/ &#xff08;百度&#xff09;https://weekly.75team.com/https://zhuanlan.zhihu.com/Fr... https://t.75team.com/https://feq…

RabbitMQ的五种队列模式与实例

3.1 简单模式Hello World 简单模式Hello World 功能&#xff1a;一个生产者P发送消息到队列Q,一个消费者C接收 生产者实现思路&#xff1a; 创建连接工厂ConnectionFactory&#xff0c;设置服务地址127.0.0.1&#xff0c;端口号5672&#xff0c;设置用户名、密码、virtual h…

大数据应用方向思考

一、 警惕大数据过热 1.1 过热产生盲目性 国内大数据的宣传早已过热&#xff0c;很多区县级政府也在考虑成立大数据局&#xff0c;政府对大数据热几乎没有抵抗力&#xff0c;企业没有紧跟就对了&#xff0c;在大数据高潮中反省政府的大数据行为、冷静一下头脑是有益的&#xff…