当前位置: 首页 > news >正文

angular网站模板下载公众号必备50个模板

angular网站模板下载,公众号必备50个模板,遵义官网网站建设,泰安建设工程招聘信息网站本文将详细介绍如何将Django项目从本地开发环境完整地部署到云服务器生产环境,涵盖从服务器初始化到最终上线的每一个步骤。第一阶段:本地项目准备 1.1 项目检查与配置 确保项目在本地运行正常,然后进行生产环境配置: # settings.…

本文将详细介绍如何将Django项目从本地开发环境完整地部署到云服务器生产环境,涵盖从服务器初始化到最终上线的每一个步骤。


第一阶段:本地项目准备

1.1 项目检查与配置

确保项目在本地运行正常,然后进行生产环境配置:

# settings.py 关键配置
DEBUG = False  # 必须关闭调试模式
ALLOWED_HOSTS = ['your_server_ip', 'your_domain.com', 'localhost']# 数据库配置(从SQLite切换到PostgreSQL)
DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql','NAME': 'mydatabase','USER': 'mydatabaseuser','PASSWORD': 'mypassword',  # 生产环境建议使用环境变量'HOST': 'localhost','PORT': '5432',}
}# 静态文件配置
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')  # 收集静态文件目录
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

1.2 生成依赖文件和环境配置

# 生成依赖列表
pip freeze > requirements.txt# 安装PostgreSQL适配器
pip install psycopg2-binary
pip install gunicorn  # 提前测试# 导出本地数据(在本地执行)
python manage.py dumpdata --exclude auth.permission --exclude contenttypes > datadump.json

第二阶段:服务器初始化

2.1 连接服务器

ssh root@your_server_ip

2.2 创建部署用户

adduser deploy
usermod -aG sudo deploy
su - deploy  # 切换到deploy用户

2.3 系统更新和基础软件安装

sudo apt update && sudo apt upgrade -y
sudo apt install -y python3-pip python3-venv postgresql postgresql-contrib nginx git curl

2.4 防火墙配置

sudo ufw allow 'OpenSSH'
sudo ufw allow 'Nginx Full'  # 允许HTTP和HTTPS
sudo ufw enable

第三阶段:数据库配置

3.1 PostgreSQL设置

sudo -u postgres psql
-- 在PostgreSQL控制台中执行
CREATE DATABASE mydatabase;
CREATE USER mydatabaseuser WITH PASSWORD 'strongpassword';
ALTER ROLE mydatabaseuser SET client_encoding TO 'utf8';
ALTER ROLE mydatabaseuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE mydatabaseuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO mydatabaseuser;
\q

第四阶段:项目部署

4.1 获取项目代码

mkdir ~/projects
cd ~/projects
git clone https://github.com/yourusername/yourproject.git myproject
cd myproject

4.2 创建虚拟环境

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

4.3 传输本地数据

在本地机器执行:

scp datadump.json deploy@your_server_ip:~/projects/myproject/
scp .env deploy@your_server_ip:~/projects/myproject/  # 如果有环境变量文件

4.4 环境变量配置

nano ~/projects/myproject/.env.production
# .env.production
DEBUG=False
SECRET_KEY=your-production-secret-key
DJANGO_SETTINGS_MODULE=myproject.settings.production
DATABASE_URL=postgresql://mydatabaseuser:strongpassword@localhost/mydatabase
ALLOWED_HOSTS=your_server_ip,your_domain.com

4.5 数据库迁移和数据导入

source venv/bin/activate
python manage.py migrate
python manage.py loaddata datadump.json
python manage.py collectstatic  # 收集静态文件
python manage.py createsuperuser  # 创建管理员账户

4.6 文件权限设置

sudo chown -R deploy:www-data ~/projects/myproject
sudo chmod -R 755 ~/projects/myproject
sudo chown -R www-data:www-data ~/projects/myproject/staticfiles
sudo chown -R www-data:www-data ~/projects/myproject/media

第五阶段:Gunicorn配置

5.1 创建Gunicorn服务文件

sudo nano /etc/systemd/system/gunicorn.service
[Unit]
Description=Gunicorn daemon for myproject
After=network.target postgresql.service[Service]
User=deploy
Group=www-data
WorkingDirectory=/home/deploy/projects/myproject
Environment="PATH=/home/deploy/projects/myproject/venv/bin"
EnvironmentFile=/home/deploy/projects/myproject/.env.production
ExecStart=/home/deploy/projects/myproject/venv/bin/gunicorn \--access-logfile - \--workers 3 \--bind unix:/run/gunicorn.sock \--timeout 120 \myproject.wsgi:application[Install]
WantedBy=multi-user.target

5.2 启动并启用Gunicorn

sudo systemctl start gunicorn
sudo systemctl enable gunicorn
sudo systemctl status gunicorn  # 检查状态

第六阶段:Nginx配置

6.1 创建Nginx配置文件

sudo nano /etc/nginx/sites-available/myproject
server {listen 80;server_name your_server_ip your_domain.com;# 静态文件服务location /static/ {alias /home/deploy/projects/myproject/staticfiles/;expires 1y;add_header Cache-Control "public, immutable";}# 媒体文件服务location /media/ {alias /home/deploy/projects/myproject/media/;expires 30d;add_header Cache-Control "public";}# 代理动态请求到Gunicornlocation / {proxy_set_header Host $http_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;proxy_pass http://unix:/run/gunicorn.sock;proxy_connect_timeout 30s;proxy_send_timeout 30s;proxy_read_timeout 30s;}# 客户端最大body大小(文件上传)client_max_body_size 100M;# 禁用favicon日志location = /favicon.ico {access_log off;log_not_found off;}
}

6.2 启用站点并测试

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo nginx -t  # 测试配置
sudo systemctl restart nginx

第七阶段:SSL证书配置(可选但推荐)

7.1 安装Certbot

sudo apt install certbot python3-certbot-nginx

7.2 获取SSL证书

sudo certbot --nginx -d your_domain.com -d www.your_domain.com

7.3 设置自动续期

sudo crontab -e
# 添加以下行:
0 12 * * * /usr/bin/certbot renew --quiet

第八阶段:最终测试与监控

8.1 服务状态检查

# 检查所有服务状态
sudo systemctl status gunicorn
sudo systemctl status nginx
sudo systemctl status postgresql# 查看日志
sudo journalctl -u gunicorn -f
sudo tail -f /var/log/nginx/error.log

8.2 网站功能测试

  1. 访问网站首页
  2. 测试静态文件加载(CSS/JS)
  3. 测试动态页面(登录、表单提交)
  4. 测试媒体文件上传和显示
  5. 检查管理员后台

8.3 性能监控设置

# 安装基本监控工具
sudo apt install htop nethogs# 监控服务器资源
htop  # CPU和内存
nethogs  # 网络流量

故障排除指南

常见问题解决:

  1. 502 Bad Gateway: 检查Gunicorn是否运行:sudo systemctl status gunicorn
  2. 静态文件404: 检查Nginx配置中的路径和文件权限
  3. 数据库连接错误: 检查PostgreSQL服务状态和用户权限
  4. 权限被拒绝: 检查文件和目录的所有权及权限

日志查看命令:

# Gunicorn日志
sudo journalctl -u gunicorn --since today# Nginx访问日志
sudo tail -f /var/log/nginx/access.log# Nginx错误日志  
sudo tail -f /var/log/nginx/error.log# PostgreSQL日志
sudo tail -f /var/log/postgresql/postgresql-13-main.log

总结

通过以上完整的8个阶段,您已经成功将Django项目部署到生产环境。这个配置提供了:

  1. 安全性: 关闭调试模式、配置防火墙、使用SSL
  2. 性能: Nginx处理静态文件,Gunicorn处理动态内容
  3. 稳定性: 系统服务管理、日志监控、自动重启
  4. 可维护性: 清晰的目录结构、环境变量配置、版本控制

记得定期备份数据库和重要文件,并保持系统和依赖包的更新。

http://www.dtcms.com/a/446923.html

相关文章:

  • 移动端教学视频网站开发怎么制作网站?
  • 德惠市建设局网站商城 小程序
  • 图文网站源码做网站要源代码
  • 怎样下载别人网站自己做的视频html5企业网站模版
  • Git配置与安装并使用Git管理项目
  • 网站dns查询网址大全2345电脑版下载
  • 串扰13-串扰如何影响信号边沿
  • 泰安市住房与城乡建设局网站企业网站建设的目的
  • jetson nano搭建vue3环境
  • 为什么mysql要有主从复制,主库,从库这种东西
  • 进网站后台显示空白wordpress 虾米音乐插件
  • 中国最大的做网站公司常州企业建站系统
  • U支付自动发卡平台使用教程
  • 正规网站优化公司宝思哲手表网站
  • 山西做网站的公司哪个好阜城网站建设价格
  • Raspberry Pi Pico GPIO
  • 网站备案icp过期上海做网站seo
  • 微网站开发 在线商城泰安求职招聘网
  • RSA-NOTES-2
  • 客户管理系统网站模板下载最新的域名
  • Bootstrap5 弹出框
  • 3d网站带后台下载网络公关名词解释
  • 商丘做网站推广的公司目前免费的h5制作软件
  • Halcon算子学习1-机器视觉Halcon中,select_gray和select_shape的区别?如何选择与使用建议?如何组合使用?
  • 兰州程序开发网站建设成都双语网站开发
  • systemd-resolved.service实验实战1
  • 山东房和城乡建设厅网站首页网站开发维护合同书
  • 呼和浩特建设网站建立网站服务器怎么弄
  • 昆明网站建设网站建设软件开发兼职平台
  • 给别人做网站 网站违法了wordpress企业博客主题