部署django
491 words
One minute
1
2
3
4
5
6
7
8
9
| wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/miniconda3/bin/activate
conda create -n myenv python=3.9
conda activate myenv
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| cd /path/to/your/project
pip install -r requirements.txt
which python
sudo /home/ubuntu/miniconda3/envs/myenv/bin/python manage.py migrate
sudo /home/ubuntu/miniconda3/envs/myenv/bin/python load_data.py data.csv
sudo /home/ubuntu/miniconda3/envs/myenv/bin/python manage.py collectstatic # 收集静态文件
pip install gunicorn
sudo touch gunicorn.log
sudo chmod 666 gunicorn.log
开启服务器10000端口
# 创建admin账户
sudo /home/ubuntu/miniconda3/envs/myenv/bin/python manage.py createsuperuser
启动项目:nginx启动或者manage.py启动(本次使用manage.py启动)
1.nginx启动
nohup sudo /home/ubuntu/miniconda3/envs/myenv/bin/gunicorn CM3035_Midterm.wsgi:application --bind 0.0.0.0:10000 > gunicorn.log 2>&1 &
# 配置nginx示例
server {
listen 80;
server_name your_domain_or_IP;
location /static/ {
alias /path/to/your/project/staticfiles/; # 确保这个路径是正确的
}
location / {
proxy_pass http://127.0.0.1:10000; # Django 应用的地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
2.manage.py启动
sudo touch run.log
sudo chmod 666 run.log
nohup sudo /home/ubuntu/miniconda3/envs/myenv/bin/python manage.py runserver 0.0.0.0:10000 > run.log 2>&1 &
|
1
2
| ps aux|grep manage.py
sudo kill 15070
|

1
| STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
|
1
| sudo /home/ubuntu/miniconda3/envs/myenv/bin/python manage.py collectstatic
|
1
| nohup sudo /home/ubuntu/miniconda3/envs/myenv/bin/uvicorn eLearning.asgi:application --host 0.0.0.0 --port 8001 --workers 4 > uvicorn.log 2>&1 &
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # /etc/caddy/conf.d/eLearning.conf
http://3.73.131.131:10000 {
# 服务静态文件
root * /www/wwwroot/eLearning/staticfiles
file_server
# 反向代理到 Django 应用
reverse_proxy /ws/chat/* 0.0.0.0:8001
reverse_proxy /* 0.0.0.0:8001
# 可选:设置 Cross-Origin-Opener-Policy 头
header {
Cross-Origin-Opener-Policy unsafe-none
}
}
|
1
| sudo service caddy restart
|
预览: