Django部署的踩的坑

数据库



  • djago的Sqlite需要 版本 > 3.8 服务器默认是3.7 不能使用 需要更新。更新比较麻烦。
  • mysql需要安装mysqlclient,编译时会用到数据库配置mysql_config,由于服务器之前装的是LNMP环境,mysql_config并不在/usr/local/bin目录下,而是在/usr/local/mysql/bin,需要建立一个软链接。即:
ln -s /usr/local/mysql/bin/mysql_conf /usr/local/bin/mysql_config
  • 运行migrate时报错mysql语句错误,直接放弃。貌似是版本问题。直接放弃,换pg
  • postgresql需要安装psycopg2,只在本地环境MAC装过,用到了openssl。因为目录原因编译时会报错缺少 -lssl,即ssl的lib文件,解决办法在安装时直接加入目录参数就好。即:
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2

可能会需要更改目录,openssl后可能会有版本信息,如openssl@1.1,确认好目录就没问题。

uwsgi

  • 如果不使用--socket 而是 --http,值为127.0.0.1时会有问题,需要直接写成端口:8000或者使用0.0.0.0