python做的网站如何部署?别被忽悠,小白也能自己搞定服务器配置

python做的网站如何部署?别被忽悠,小白也能自己搞定服务器配置

本文关键词:python做的网站如何部署

很多刚入行或者自己折腾技术的朋友,代码写完了,心里那个美啊,觉得离成功不远了。结果一听到“部署”俩字,头都大了。网上教程满天飞,有的说用Docker,有的说用宝塔,还有的让你去配Nginx和uWSGI,看得人云里雾里。其实吧,真没那么玄乎。我干了七年建站,见过太多人死在环境配置上。今天咱不整那些虚头巴脑的学术名词,就手把手教你怎么把Python写的网站真正放到互联网上让人能访问。

首先,你得有个服务器。别用本地电脑当服务器,那是自嗨。去阿里云、腾讯云或者华为云买个最便宜的轻量应用服务器,CentOS 7.9或者Ubuntu 20.04都行。买完记得改密码,别用默认的,安全第一。

第一步,连上服务器。用Xshell或者FinalShell,甚至Windows自带的PowerShell都行。输入IP和密码,连进去后,先更新一下系统包。CentOS用yum update,Ubuntu用apt update。这一步不能省,不然装软件全是旧版本,坑死你。

第二步,安装Python环境。很多新手直接yum install python3,结果发现版本太老,跑不了现在的框架。推荐用源码编译或者用pyenv,但为了省事,咱用第三方源。CentOS可以装epel-release,然后yum install python36 python36-pip。如果是Ubuntu,直接apt install python3 python3-pip。装完记得输入python3 --version看看是不是你要的版本。

第三步,装虚拟环境。千万别把项目依赖装在全局环境里,那样会乱套。用venv或者virtualenv都行。mkdir myproject,cd myproject,python3 -m venv venv,source venv/bin/activate。看到命令行前面有个(venv)没?说明激活成功了。这时候再pip install flask django gunicorn,装你项目需要的包。

第四步,测试运行。在本地跑通了,在服务器上也能跑通吗?不一定。先试试python manage.py runserver 0.0.0.0:8000。如果浏览器能访问,说明基础没问题。但别高兴太早,这是开发模式,不能用于生产环境,而且性能极差。

第五步,配置Gunicorn。这是Python生产环境的标准Wsgi服务器。安装gunicorn后,运行gunicorn -w 4 -b 0.0.0.0:8000 your_project.wsgi:application。这里的-w是工作进程数,一般设为CPU核数加1。这样你的网站就能扛住一定的并发量了。

第六步,配置Nginx做反向代理。直接暴露Gunicorn端口不安全,也不利于静态文件处理。安装Nginx,然后在/etc/nginx/sites-available/下新建一个配置文件。把server_name改成你的域名,location /里面加proxy_pass http://127.0.0.1:8000;。别忘了把静态文件路径指向你的static目录,让Nginx直接处理,减轻Python负担。

第七步,设置开机自启。服务器重启后服务不能挂啊。用systemctl管理。写一个.service文件,指定ExecStart为你的gunicorn命令,User和Group设为你的普通用户。然后systemctl enable your_project.service,systemctl start your_project.service。

第八步,搞定域名和SSL。去域名商那里解析A记录到你的服务器IP。然后申请Let's Encrypt免费证书,用certbot一键配置Nginx的HTTPS。这样你的网站就变成https://开头了,浏览器才不会报不安全。

整个过程走下来,大概半天时间。别怕报错,报错是常态。多看日志,/var/log/nginx/error.log和/var/log/gunicorn.log是救命稻草。记住,python做的网站如何部署,核心就是Nginx+Gunicorn+Systemd这套组合拳。其他的花哨工具,等你熟练了再玩不迟。

最后提醒一点,数据库别用SQLite,生产环境请用MySQL或PostgreSQL。还有,定期备份数据库,这是保命符。好了,去试试吧,遇到坑了再回来翻这篇文章。

最新新闻

日新闻

周新闻

月新闻