基于python的种子搜索网站(三)项目部署
时间:2022-06-18
本文章向大家介绍基于python的种子搜索网站(三)项目部署,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本讲会对种子搜索网站的部署过程进行详细的讲解。
网站演示: https://bt.mypython.me
源码地址: https://github.com/geeeeeeeek/bt
项目部署过程
系统要求:ubuntu 16.04(或以上)
环境搭建和配置,必须严格按照以下步骤来安装部署!如有问题可以咨询(微信:java2048)
安装部分
安装nginx
sudo apt install nginx
安装python3和pip3
sudo apt install python3
sudo apt install python3-pip
安装依赖
pip3 install uwsgi
pip3 install django
pip3 install pymysql
pip3 install django-ratelimit
安装mysql
sudo apt install mysql-server
配置部分
配置mysql(/etc/mysql/my.cnf)
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
启动mysql
/etc/init.d/mysql start
创建数据库
# 进入数据库
mysql -u root -p
# 创建数据库
create database bt;
# 退出
exit();
拉取代码到/var/www/下面
sudo git clone https://github.com/geeeeeeeek/bt.git
配置setting.py,有两点需要配置:数据库和域名。
配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bt', # 创建的数据库
'USER': 'root',
'PASSWORD': 'xxx', # 你的mysql密码
'HOST':'127.0.0.1',
'PORT':'3306',
}
}
域名配置(将你自己的域名写入到ALLOWED_HOSTS)
ALLOWED_HOSTS = ['bt.mypython.me','xxx.com']
导入表结构
python3 manage.py makemigrations
python3 manage.py migrate
创建超级用户
python3 manage.py createsuperuser
创建log文件
在/var/www/bt/目录下,创建uwsgi.log文件,并设置权限为766
sudo touch uwsgi.log
sudo chmod 766 uwsgi.log
运行配置(配置位于bt/uwsgi.ini)
uwsgi --ini uwsgi.ini
配置nginx, 在/etc/nginx/sites-enabled下新建bt.conf,写入:
upstream bt {
server 127.0.0.1:8002;
}
server {
listen 80;
server_name xxx.com; # 你的域名
location /static/ {
alias /var/www/bt/static/;
}
location / {
include uwsgi_params;
uwsgi_pass bt;
}
}
运行nginx
sudo service nginx start
大功告成!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- NLP简报(Issue#10)
- Transformer温故知新
- 【作者解读】ERNIE-GEN : 原来你是这样的生成预训练框架!
- Python中那些低调有趣的模块
- 01背包问题讲解(动态规划)
- python实现随机森林
- 在mysql中order by是怎样工作的?
- 多线程应用 - 阻塞队列ArrayBlockingQueue详解
- Java虚拟机 - 超级详细的类加载说明
- ReentrantLock
- 多线程应用 - 阻塞队列LinkedBlockingDeque详解
- AtomicInteger详解
- 多线程应用 - 阻塞队列LinkedBlockingQueue详解
- 多线程应用 - 超详细的AQS详情
- 多线程应用 - 基于AQS的Condition