Django项目部署遇到的一些问题

部署项目时使用的知识点

  1. 在刚进系统时需要先更新一下资源,要不然会出现找不到资源。使用sudo apt update进行更新

  2. 安装完memcached之后可以使用telnet 127.0.0.1 11211 进行测试。

    set username 0 60 7 
    zhiliao
    STORED
    get username
    VALUE username 0 7
    zhiliao
    END 
    quitr^H    
    ERROR
    quit
    
  3. 当我在Xshell中修改完一部分代码时,当我再向码云中拉取代码时,会出现问题。这时我只需要git add.然后再提交一下 git commit -m 'nothing'然后再根据提示
    输一下邮箱和用户名。然后再git pull origin master

  4. 查看运行文件ps aux|grep uwsgikill-9 端口号

  5. 退出虚拟环境deactivate

  6. 在使用uwsgi时会出现一些问题,出现过主urls找不到,然后使用python manage.py runserver 0.0.0.0:8000发现端口占用,
    然后kill之后再进行uwsgi --ini uwsgi.ini,就可以使用了。

  7. 在运行supervisord -c supervisor.conf出现下面的错误时,只需要将supervisor.conf中的第一行注释去掉就好了

    Error: File contains no section headers.
    file: '/etc/supervisor/conf.d/imgweb.conf', line: 1
    ';/etc/supervisor/conf.d/imgweb.conf\n'
    For help, use /home/ejior/.virtualenvs/begin/bin/supervisord -h
    
  8. 在向码云上传项目和拉取项目时常用的git命令如下

    初始化git init
    提交到缓存git commit -m '注释'
    提交项目git push origin master
    拉取项目git pull origin master
    
  9. 当部署完数据库时,要使用本地的Navicat连接服务器的mysql时,需要将mysql里的user为root中的Host 改为%,然后一定一定要记得重启数据库.

    mysql> USE mysql; -- 切换到 mysql DB
    Database changed
    mysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机
    +------+----------+-----------+
    | User | Password | Host      |
    +------+----------+-----------+
    | root |          | localhost |
    +------+----------+-----------+
    row in set (0.00 sec)
    如果没有host创建host
    如果没有"%"这个host值,就执行下面这两句:
    mysql> update user set host='%' where user='root';
    mysql> flush privileges;
    mysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机
    +------+----------+-----------+
    | User | Password | Host      |
    +------+----------+-----------+
    | root |          |   %       |
    +------+----------+-----------+
    授权用户
    任意主机以用户root和密码mypwd连接到mysql服务器
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
    mysql> flush privileges;
    一定要记得重启数据库。`service mysql restart` 
    
  10. 在本地项目中修改为DEBUG = False时导致整个页面的静态文件加载不出来,修改为DEBUG = True时静态文件成功加载

  11. 在部署到服务器之后,登录账户时出现403错误,然后只需要在注册登录页面加上下面的代码就行了,这里就是设置一下csrf值。

    <script>
            if(getCookie('csrftoken')){
            }else{
                $.ajax({
                    data:{csrfmiddlewaretoken:'{{ csrf_token }}'},
                })
            }
        </script>
    
  12. 当时在部署完项目时,可以使用公网ip访问,但是使用域名一直访问不了。老是出错显示让我把域名加入到ALLOWED_HOSTS这里面
    但是加上完后,重启了nginx还是不行,最后重启supervisor才可以。对于每次修改参数后一定要记得重启supervisor。supervisord -c supervisor.conf.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是 Django 项目部署服务器并运行的具体步骤: 1. 将 Django 项目代码上传到服务器。您可以使用 FTP、SCP 或其他文件传输协议将代码上传到服务器,或者使用 Git 等版本控制工具进行代码部署。 2. 安装 Django 及相关依赖。在服务器上使用 pip 安装 Django 及相关的依赖库,如 Pillow、psycopg2 等。 3. 设置数据库。在服务器上创建数据库及相应的用户,并修改 Django 项目的 settings.py 文件中的数据库配置。 4. 配置 Web 服务器。您可以使用 Apache 或者 Nginx 等 Web 服务器来部署 Django 项目,具体配置方式可参考相关文档。在配置完成后,需要启动 Web 服务器。 5. 配置静态文件。在 settings.py 文件中配置静态文件路径,并使用 collectstatic 命令将静态文件收集到指定的目录。 6. 配置应用服务器。您可以使用 uWSGI 或者 Gunicorn 等应用服务器来启动 Django 项目,具体配置方式可参考相关文档。在配置完成后,需要启动应用服务器。 7. 运行 Django 项目。在服务器上启动 Web 服务器和应用服务器后,您可以在浏览器中输入服务器的 IP 地址或域名来访问 Django 项目。 需要注意的是,在部署过程中,可能会遇到各种问题,例如数据库连接失败、Web 服务器启动失败、应用服务器启动失败等等。因此,建议在部署前先做好相关的测试,并逐一排查问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值