STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# STATICFILES_DIRS = (
# os.path.join(BASE_DIR, 'static'),
# )
DEBUG = False
ALLOWED_HOSTS = ["*"]
pip freeze >requirements.txt
clear清屏
sudo -i
cd /home/ubuntu
ls
unzip NewCenter.zip
python3 -V
#当前环境下python3是python3.6.8
在ubuntu目录下做这些操作
#安装虚拟环境
apt-get install python3-venv
y
#在当前目录下,创建一个python3.6的虚拟环境,取名为env36
python3 -m venv env36
. env36/bin/activate
#进入虚拟环境
#退出虚拟环境 deactivate
ls
cd NewCenter
pip3 install -r requirements.txt
python manage.py runserver 0.0.0.0:8000
报错了
因为Mysql数据库新建的时候,所有大写字母都变成了小写,但是在项目配置文件中,数据库的名字中还是用的大写字母,而在ubuntu系统中,是区分大小写的,导致在连接数据库时报错。
这种情况下,在构建项目数据库的时候,就用了小写字母的情况下,是不会出现报错的。
所以只要将项目配置中与连接数据库相关的配置代码中的NewCenter,改成newcenter,即可。
Ctrl+C,退出。
ls
cd NewCenter/
ls
vim settings.py
# 英文输入环境下,敲 i 键,进入插入模式
#上下左右键移动光标,将连接数据库相关的代码中的‘NewCenter’修改为‘newcenter’
#英文输入环境下,敲Esc键,输入:wq 保存退出
然后再重新启动项目:
cd /home/ubuntu
cd NewCenter
python manage.py runserver 0.0.0.0:8000
http://公网IP:8000/xadmin/
浏览器效果图:
Ctrl键+C键
python manage.py collectstatic
注意,虽然收集了静态文件,但是这个时候,就算重启项目,从浏览器访问,依然是没有样式的。
#退出虚拟环境
deactivate
cd ..
apt install python3-pip
y
apt-get install -y python3-dev
pip3 install uwsgi
uwsgi --chdir /home/ubuntu/NewCenter --home /home/ubuntu/env36 --http :8000 --module NewCenter.wsgi
浏览器访问:
http://公网IP:8000/xadmin/
Ctrl键+C键
cd NewCenter/
mkdir newcenter_uwsgi
cd newcenter_uwsgi/
vim newcenter.ini
在英文输入下点击i键进入输入状态,输入:
[uwsgi]
#项目目录
chdir=/home/ubuntu/NewCenter
#wsgi目录
module=NewCenter.wsgi:application
#虚拟环境
home=/home/ubuntu/env36
master=true
processes=1
socket = 0.0.0.0:9000
vacuum = True
daemonize=yes
点击【Esc】键,输入:wq,保存退出
uwsgi --ini /home/ubuntu/NewCenter/newcenter_uwsgi/newcenter.ini
注意:这里所谓的启动,通过浏览器是访问不到的。
cd /home/ubuntu/
apt-get install nginx
y
#防止错误,先把default文件给删除了
cd /etc/nginx/sites-available/
rm default
ls
cd /etc/nginx/sites-enabled
ls
rm default
ls
cd /etc/nginx/sites-available/
vim newcenter.conf
i #进入编辑状态
内容
server{
listen 8000;
server_name 公网IP;
charset utf-8;
client_max_body_size 75M;
location /static {
alias /home/ubuntu/NewCenter/static;
}
location /media {
alias /home/ubuntu/NewCenter/media;
}
location / {
uwsgi_pass 127.0.0.1:9000;
include /etc/nginx/uwsgi_params;
}
}
保存退出:
Esc键+输入:wq+回车 #保存退出
cd /etc/nginx/
ln -s /etc/nginx/sites-available/newcenter.conf /etc/nginx/sites-enabled/newcenter.conf
ls sites-enabled/
nginx -t #查看Nginx 运行情况
service nginx restart #重启Nginx
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
查看端口8000是否占用:
netstat -apn|grep :8000
查看与uwsgi相关进程
ps -aux|grep uwsgi
停止uwsgi
sudo pkill -f uwsgi -9
1.解决权限问题:
chmod -R 777 /home/ubuntu
2.如果因为报错停止过uwsgi,则需要再启动一次
uwsgi --ini /home/ubuntu/NewCenter/newcenter_uwsgi/newcenter.ini
3.重启nginx
nginx -t #查看Nginx 运行情况
service nginx restart #重启Nginx
浏览器访问:
http://公网IP:8000/xadmin/
效果图:
后端项目NewCenter部署成功!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有