Linux+Nginx快速部署Django

【新手向】Linux+Nginx快速部署Django


记录自己第一台云服务器的完整部署过程(纯练手),肯定少不了纰漏,适合零基础或应急。如果有建议,请多多指点。


· 原材料

  • 在本地跑通的Django项目
  • 云服务器
  • Xshell5
  • 宝塔账号

· 服务器基本配置

操作系统建议选择CentOS,无桌面适合服务器安装,网上相关技术博客也多。这里我装了CentOS7.9。配完操作系统后重置一下密码,这里我用的是阿里云
然后配一个全部放行的安全组,打开云服务器管理面板,加入该安全组:
在这里插入图片描述
拿到服务器ip地址之后就可以远程连接了,可以新建连接,也可以像在shell里一样直接ssh

ssh <username>@<ip>
# 例如ssh root@192.168.1.1

连上之后开始装宝塔面板。首先检查磁盘是否分区

在这里插入图片描述
这里的磁盘末位是数字则代表磁盘已分区。如果是系统盘和数据盘分开的系统,一般需要手动对数据盘分区并挂载,我这里是vda1,则直接挂载磁盘即可。分区与挂载指令
挂载之后开始安装。安装指令
面板装好之后会给一套用户密码,以及外网面板地址。登录该地址,按提示操作进行账号绑定。加载面板首页:
在这里插入图片描述
服务器配置告一段落,准备部署项目~


· 项目所需软件环境配置,项目部署

这里按照cv14309219操作即可。几点说明:

  • 我的项目是Django3 + python3.8.6,基本符合教程环境
  • 创建网站时如果没有域名,也可使用ip+端口号的形式。预留的端口号不要与Nginx、MySQL等端口号相同
  • 数据库默认有一个root用户,在为网站创建数据库时注意不要重名。root用户密码可直接在宝塔面板的数据库页面查看并修改,导入数据库时默认向root导入,如果创建网站时用了其它用户名,在其数据库里是查不到导入的数据库的。因此settings里的用户名也要为root,这样可以确保项目先跑起来,否则MySQL会报1045。使用其它用户名登录等问题不是刚需,暂时跳过。
  • 如果需要重新创建项目,依赖包没有变化时,不要勾选安装依赖的选项,重装的过程是先卸再装,十分费时

做到这一步,项目的部署基本已经完成,可以外网登录测试一下了。如果报403、502等错误,删项目重新部署。如果页面无响应,优先检查端口号是否有问题,我就是被这个折腾了半宿


· 疑问

这里我不是很确定是否必须要挂载。宝塔要挂在/www下,但很多博客并没有做这一步,最后也安装成功。因为我的磁盘已分区,所以是跳过了教程里分区的部分,只做了挂载。怕出错的话还是按教程来吧。





服务器真心不便宜,如果有机会领到免费资源,一定抓紧时间多操练

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统上部署Django + nginx + uWSGI的步骤如下: 1. 安装必要的软件 在Linux系统上安装必要的软件包,包括Python、pip、nginx、uWSGI等。 2. 创建Django项目 使用Django创建一个新项目或使用现有的Django项目。 3. 配置uWSGI 在Django项目的根目录下创建一个uwsgi.ini文件,用于配置uWSGI。示例配置如下: ``` [uwsgi] # 指定运行模式为WSGI http = :8000 # 指定Django应用的wsgi模块 wsgi-file = myproject.wsgi # 指定进程数 processes = 4 # 指定线程数 threads = 2 # 指定静态文件路径 static-map = /static=/path/to/static # 指定日志路径 logto = /path/to/logfile ``` 其中,http参数指定了监听的端口号,wsgi-file参数指定了Django应用的wsgi模块,processes参数指定了进程数,threads参数指定了线程数,static-map参数指定了静态文件的路径,logto参数指定了日志文件的路径。 4. 配置nginxnginx的配置文件中添加以下内容: ``` server { listen 80; server_name example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { uwsgi_pass 127.0.0.1:8000; include uwsgi_params; } location /static { alias /path/to/static; } } ``` 其中,server_name指定了域名,access_log和error_log指定了日志文件的路径,uwsgi_pass指定了uWSGI的地址和端口号,include指定了uWSGI的参数。 5. 启动uWSGI服务 使用以下命令启动uWSGI服务: ``` uwsgi --ini uwsgi.ini ``` 6. 启动nginx服务 使用以下命令启动nginx服务: ``` sudo service nginx start ``` 这样就完成了Django + nginx + uWSGI的部署。可以通过访问该网站的域名来验证是否部署成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值