您现在的位置是:娱乐 >>正文

django网站部署到阿里云服务器

娱乐39人已围观

简介 django网站部署到阿里云服务器 我上周刚把一个django博客从本地迁到了阿里云ECS上,整个过程比想象中折腾,但踩完坑回头看,其实核心就三步:装环境、配数据库、用gunicorn+Nginx把 ...

django网站部署到阿里云服务器

我上周刚把一个django博客从本地迁到了阿里云ECS上,网站整个过程比想象中折腾,部署但踩完坑回头看,服务其实核心就三步:装环境、网站配数据库、部署用gunicorn+Nginx把应用跑起来。服务别被网上那些长篇教程吓着,网站真正动手时你会发现,部署90%的服务时间都耗在版本兼容和权限上。

先买台服务器,网站Ubuntu 22.04系统就行,部署2核4G的服务配置足够个人项目用了。登录后第一件事就是网站更新软件源——apt update && apt upgrade。然后安装python3-pip、部署nginx、服务postgresql,还有虚拟环境工具。这里有个细节:阿里云的默认安全组只开放了22端口,你得去控制台把80和443加上,不然浏览器永远打不开。

把本地代码传上去,用git最省事。项目文件放到/var/www/myblog,创建虚拟环境并激活,安装依赖前先升级pip——我就在这栽过跟头,老版本pip装django时报错,后来用pip install --upgrade pip解决了。数据库用postgresql,建库建用户,记得把django的settings.py里的数据库配置改成服务器上的。连接信息里那个HOST别写localhost,写127.0.0.1,不然socket连接会出问题。

迁移数据库时跑了python manage.py migrate,然后收集静态文件。静态文件这块最容易忽略,django默认不处理CSS和JS,得用collectstatic命令把它们收集到指定目录。我在settings.py里设了STATIC_ROOT = '/var/www/myblog/staticfiles/',然后让Nginx直接服务这个目录。

接下来是最关键的一步:用gunicorn跑django。先安装pip install gunicorn,然后测试运行gunicorn myblog.wsgi:application --bind 0.0.0.0:8000。能跑通说明代码没问题。但gunicorn是前台进程,关了终端就断了,得用systemd把它变成服务。新建/etc/systemd/system/gunicorn.service文件,写清楚启动命令、工作目录、运行用户。这里有个教训:用户权限必须配好,我用root跑没问题,但换www-data用户时,项目目录的读写权限没给够,折腾了半小时才发现是权限问题。

Nginx配置反向代理,把80端口的请求转发到8000端口。配置文件在/etc/nginx/sites-available/myblog,关键几行:proxy_pass http://127.0.0.1:8000;,还有静态文件的alias路径。写完软链接到sites-enabled,然后nginx -t测试语法,没问题就重启Nginx。打开浏览器输入服务器IP,看到首页那一刻,说实话有点小激动。

但别高兴太早。我第二天发现网站打不开了,查日志发现是gunicorn服务崩了。原因是内存不够——2G内存跑postgresql加django有点吃紧,系统OOM把进程杀了。解决办法是加个swap文件,fallocate -l 2G /swapfile,然后启用。另外用阿里云的监控看CPU和内存,发现高峰期CPU能到70%,后来把数据库连接数调小,问题就缓解了。

最后提醒一句:域名解析和HTTPS证书别忘了。阿里云有免费的SSL证书申请,配好后用certbot自动续期。整个过程大概花了我一个下午加一个晚上,比预想中繁琐,但当你看到自己写的代码在云上跑起来,那种成就感真挺值的。

Tags:

相关文章

  • 有没有制作swf文件的软件

    娱乐

    Flash死了快十年了,但总有人翻出老旧的.swf文件——可能是十年前做的课件,或者是某个游戏网站扒下来的动画,甚至是你自己硬盘里存着的青春。这时候你才发现,能打开它的播放器早就不更新了,更别提想改两 ...

    【娱乐】

    阅读更多
  • 西安黑马程序员

    娱乐

    西安黑马程序员的教学点藏在雁塔区一栋不起眼的写字楼里,电梯上到五楼,推开玻璃门,迎面就是一股混合着泡面和咖啡的味道。教室不大,塞了将近六十号人,屏幕亮成一片。我去的那天是周四下午,讲的是Spring ...

    【娱乐】

    阅读更多
  • 看韩国电影网站推荐

    娱乐

    找韩国电影资源,最烦的就是打开一个网站,满屏弹窗广告,点了播放键结果跳转到赌博页面。这种事我遇到过不下十次。后来学乖了,固定用几个站点,省心得多。 先讲一个我用了三年的:韩剧TV现在改名叫韩小圈)。它 ...

    【娱乐】

    阅读更多


友情链接