这是什么本文是作者上线Django项目的笔记，仅供参考。注意：欢迎转载，保留链接注意：本文参考了知了课堂的笔记总体流程安装Python安装Nginx安装Uwsgi大概的思路就是配置好静态文件通过Nginx访问，动态文件通过Uwsgi来解析。相比PHP，确实是又复杂又LOW（轻喷）安装Python你拿到的服务器大概率是centos或者ubuntu的发行版，一般是有python的。我们可以在shell中输入python，能弹出东西就算成。Python 2.7.5 (default, Jun 20 2019, 20:27:34) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 弹出来的东西可能长这样，这是2.X版本的Python，今天我们写的Django项目大概率已经不支持2.X的版本了，所以我们要安装3.x版本的PythonPython得自己编译…安装依赖包这一步如果省略，可能会让之后的编译无法进行yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel下载安装包wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz解压安装包tar -zxvf Python-3.7.0.tgz建立一个空文件夹，用于存放python3程序mkdir /usr/local/python3执行配置文件./configure --prefix=/usr/local/python3安装make make install建立软连接ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3然后，我们需要安装virtualenv以及virutalenvwrapper。并创建虚拟环境。pip3 install virtualenv pip3 install virtualenvwrappervim ~/.bashrc 进入文件中，填入以下两行代码：export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh然后执行source ~/.bashrc接着创建虚拟环境mkvirtualenv course 使用当前虚拟环境workon course然后执行pip install -r 1.txt （1.txt就是包含了需求库的文件，相信这里不用多解释）截止到这里，Python和Django的环境就算搭建好了安装Nginxyum install -y nginx没错，一句话就好了。这里可能由于我使用的是阿里云服务器的关系，所以已经配置好了yum源。其实这里有个问题可以交流一下，解决问题是一个爬坑的过程。从学习的角度上来说，是应该尝试以最困难的方式来完成，这样可以学到更多东西。可是用学习学习（你没有看错，我也没有打错），学习讲究的应该是先建立体系，再补充细节。搭建Django项目的过程中，体系就指的是完成整个流程，Nginx属于细节的部分。现在有办法能快速的完成安装，有什么不好的呢。Nginx的一些其他常用配置目录以下是Nginx的默认路径： (1) Nginx配置路径：/etc/nginx/ (2) PID目录：/var/run/nginx.pid (https://www.centos.bz/tag/nginx-pid/) (3) 错误日志：/var/log/nginx/error (https://www.centos.bz/tag/error/).log (4) 访问日志：/var/log/nginx/access.log (5) 默认站点目录：/usr/share/nginx/html 事实上，只需知道Nginx配置路径，其他路径均可在/etc/nginx/nginx.conf 以 及/etc/nginx/conf.d/default.conf 中查询到。常用命令常用命令 (1) 启动： nginx (2) 测试Nginx配置是否正确： nginx -t (3) 优雅重启： nginx -s reload (4) 查看nginx的进程号： ps -ef |grep nginx (5)nginx服务停止 nginx -s stop kill -9 pid安装Uwsgipip3 install uwsgi注意，uwsgi必须安装在系统级环境下， 不能是虚拟路径我们可以使用命令用uwsgi启动项目，如果能够在浏览器中访问到这个页面，说明uwsgi可以加载项目了。uwsgi --http :8000 --module modname.wsgi --virtualenv=/root/.virtualenvs/django-env-py2其中modname指的是项目的名字，/root/.virtualenvs/django-env-py2指的是虚拟环境的安装路径配置uwsgi配置文件[uwsgi] #文件名 ：zhiliaoketang_uwsgi.ini # Django相关的配置 # 必须全部为绝对路径 # 项目的路径 chdir = /srv/zhiliaoketang # Django的wsgi文件（项目的名字.wsgi，这个文件其实不存在，是动态创建的） module = zhiliaoketang.wsgi # Python虚拟环境的路径 home = /root/.virtualenvs/django-env-py2 # 进程相关的设置 # 主进程 master = true # 最大数量的工作进程 processes = 10 # socket文件路径，绝对路径 socket = /srv/zhiliaoketang/zhiliaoketang.sock # 设置socket的权限 chmod-socket = 666 # 退出的时候是否清理环境 vacuum = true通过以下命令来检测启动是否顺利uwsgi --http :85 --ini zhiliaoketang.ini配置Nginx在/etc/nginx/conf.d目录下，新建一个文件，叫做zhiliaoketang.conf，然后将以下代码粘贴进去：# 这个文件就是你项目绝对路径下的 项目名.sock 文件 # 这个文件是不存在的，是个socket通信地址，写就好 upstream zhiliaoketang { server unix:///srv/zhiliaoketang/zhiliaoketang.sock; } # 配置服务器 server { # 监听的端口号 listen 80; # 域名 server_name 192.168.0.101; charset utf-8; # 最大的文件上传尺寸 client_max_body_size 75M; # 静态文件访问的url location /static { # 静态文件地址，就是你文件中的静态地址，记得把上面那个static也改了 alias /srv/zhiliaoketang/static_dist; } # 最后，发送所有非静态文件请求到django服务器 location / { uwsgi_pass zhiliaoketang; # uwsgi_params文件地址 include /etc/nginx/uwsgi_params; } }每次修改完了配置文件，都要记得重启。然后先启动Nginx，在启用Uwsgi，项目的上线就算成了。