美文网首页
如何在Centos里部署Django?

如何在Centos里部署Django?

作者: 黑色汪汪汪 | 来源:发表于2018-07-20 11:32 被阅读0次

在Centos里部署Django,为了使服务器可以部署更多的项目而不冲突,最好使用虚拟环境。
python2 如何安装虚拟环境,在下不清楚,见谅,是时候切换到python3了,骚年。

首选安装python3,我安装的是最新的python3.6版本,命令:

yum install python36 python36-devel

安装完成之后,我习惯在用户home目录下建立虚拟环境,比如创建用户:django

#useradd django
#passwd Django

创建完用户之后就切换到指定用户下面:su - django
在 visudo里,把django加上sudo权限(不细说了)。
创建虚拟环境:

sudo python3.6 -m venv .venv

后面的.venv 是你创建的虚拟环境名称,如果你有多个项目要部署,那最好起一个有意义的名字。

到.venv目录下看看:


image.png

ok,建立好了。我们激活虚拟环境:

source ~/.venv/bin/activate

剩下的事就是安装项目依赖的库了

pip3 install django==2.0.1
pip3 install mysql-connector
pip3 install pillow
pip3 install mysql-connector-python
pip3 install uwsgi

依赖的库都安装好以后,可以在项目目录下执行:python3.6 manage.py runserver

如果可以正常运行,那么说明项目没问题了,可以继续下一步。

下一步,用uwsgi跑项目。

上面已经安装了uwsgi,只需创建一个配置文件即可,我放到/etc/uwsgi.ini
编辑uwsgi.ini

[uwsgi]
socket = 127.0.0.1:9002
chdir=/data/myproject
wsgi-file=/data/myproject/wsgi.py#项目文件自带的uwsgi.py
virtualenv = /root/.venv#虚拟环境目录
processes=4#进程数
threads=4#线程数
stats = 127.0.0.1:9008 #状态
daemonize = /data/log/httpServer.log#日志,改成自己喜欢的目录
pidfile = /tmp/uwsgi.pid#pid
vacuum = true
log-maxsize = 50000000

运行uwsgi:

找到虚拟环境目录bin下面的uwsgi,执行他:

/root/.venv/bin/uwsgi       /etc/uwsgi.ini#后面跟上配置文件

查看日志,daemonize = /data/log/httpServer.log#日志,改成自己喜欢的目录,没有报错就ok了。
同时看看9002端口起来了没有,命令:

netstat -an |grep 9002

起来了,日志不报错就OK了。这时候您用浏览器访问9002端口就可以打开网站了。

安装Nginx

yum install nginx

讲究的人可以自己下载源码编译安装。
安装完成之后,找到nginx配置文件,/etc/nginx/nginx.conf
修改它:
这里只贴出server部分,其余部分属于优化,不影响功能。

server {
        listen 80;#监听80端口
        server_name s2.test.com;#监听的域名
        access_log /data/log/access.log;#日志
        error_log /data/log/error.log;#日志
        charset     utf-8;
        client_max_body_size 75M;
        location / {
        include     /etc/nginx/uwsgi_params;
                uwsgi_pass  127.0.0.1:9002;
        }
        location /static {
            root /data/myproject;#对应项目静态目录/data/myproject/static
        }
        location /media {
            root /data/myproject;#同上media目录
       }
}

nginx -t 测试配置文件是否有错误。
准确无误后,启动nginx

#nginx

访问域名试试吧~,不明白请留言。

相关文章

网友评论

      本文标题:如何在Centos里部署Django?

      本文链接:https://www.haomeiwen.com/subject/wcdfmftx.html