您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# CentOS中怎么部署Django项目
本文将详细介绍在CentOS系统上部署Django项目的完整流程,涵盖环境准备、项目配置、数据库设置以及Nginx+Gunicorn的生产环境部署方案。
---
## 一、环境准备
### 1. 更新系统
```bash
sudo yum update -y
sudo yum install -y epel-release # 安装EPEL仓库
sudo yum install -y python3 python3-devel
python3 --version # 确认版本(建议Python 3.6+)
sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel
pip3 install virtualenv
mkdir ~/myproject && cd ~/myproject
virtualenv venv
source venv/bin/activate # 激活环境
pip install django
pip install gunicorn psycopg2-binary # 以PostgreSQL为例
pip freeze > requirements.txt
DEBUG = False
ALLOWED_HOSTS = ['your_server_ip', 'domain.com']
# 数据库配置(以PostgreSQL为例)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydb',
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '5432',
}
}
# 静态文件设置
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
python manage.py collectstatic
sudo yum install -y postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo -u postgres psql
CREATE DATABASE mydb;
CREATE USER myuser WITH PASSWORD 'mypassword';
ALTER ROLE myuser SET client_encoding TO 'utf8';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
\q
pip install gunicorn
gunicorn --bind 0.0.0.0:8000 myproject.wsgi # 测试运行
创建/etc/systemd/system/gunicorn.service
:
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=username
Group=nginx
WorkingDirectory=/home/username/myproject
ExecStart=/home/username/myproject/venv/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/home/username/myproject/myproject.sock \
myproject.wsgi:application
[Install]
WantedBy=multi-user.target
启动服务:
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
sudo yum install -y nginx
编辑/etc/nginx/conf.d/django.conf
:
server {
listen 80;
server_name your_domain.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/username/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/username/myproject/myproject.sock;
}
}
启动Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
访问服务器IP或域名,确认Django项目正常运行:
curl http://localhost
502 Bad Gateway错误
sudo systemctl status gunicorn
chmod 755 /home/username/myproject
静态文件404错误
STATIC_ROOT
设置正确数据库连接问题
pg_hba.conf
配置通过以上步骤,您的Django项目已成功部署到CentOS生产环境。建议定期更新系统和软件包以确保安全性。 “`
(全文约900字)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。