本人的台式机是linux系统
经验:
作为一个小白,路线是本地运行django项目---->使用uwsgi,将本地机直接做web服务器使用运行django---->联合nginx+uwsgi+django来运行(在部署过程中,由于不熟悉或者是为了寻找出错多次重复循环这个过程。
1.错误提示很重要。网页的开发者模式重要,nginx的错误提示重要(靠其解决:client intended to send too large body: 42663073 bytes,改nginx配置文件里面的内容可能还有其他),uwsgi的错误提示最好直接在窗口显示,不要写到文件里,省的再去里面找
2.最好熟悉一些常用的命令
常见的命令(以下命令皆在命令行执行):
查看进程(以uwsgi为例);
ps -ef|grep uwsgi
查看端口的使用情况(比如端口8000)
sudo lsof -i:8000
关闭某个程序占用的全部进程(以uwsgi为例):
killall -9 uwsgi
关于nginx
可以使用./nginx -t查看nginx配置的文件是否有错
./nginx 执行nginx
./nginx -s reload 重启nginx
3.对于这种项目,最好使用装在本地的python,我之前使用pycharm一堆错(当然还有可能是其他原因)
坑:
1.使用本地测试的时候,想要将127.0.0.1:端口号改成自己的IP地址:端口号提供给外部访问
将settings.py里面的ALLOWED_HOSTS改成ALLOWED_HOSTS = ['*'],然后将端口号在iptables里面设置一下,重启一下防火墙(具体可见:https://blog.csdn.net/qq_22337113/article/details/110521539)
2.在配置nginx+uwsgi+django的时候,网页显示500的错
作为小白,在没有更改代码的情况下,可以尝试修改setting_dev.py里面的DEBUG的状态(仅对我目前的项目而言,其他的不清楚,提供个思路)。
3.对于我当前的项目来说,nginx+uwsgi+django在网页端只是提供了一个界面和上传文件的操作,但是执行我的程序功能还是要从本地执行。
4.学了一点docker相关的内容(其中部分是关于配置网络的),前面视图尝试用docker解决,后来这部分的内容没有使用,但是老是会占用端口
5.在本地配置的时候,可以尝试使用多个浏览器进行测试,我是使用chromium不行(当时要疯),然后尝试使用opera(可以)的,火狐也可以
6.服务器的兼容问题,部分浏览器访问的时候直接就是空白页(和坑5是一样的)