Django服务器布置(Ubuntu+uwsgi+nginx+Django)

时间:2023-03-09 21:49:39
Django服务器布置(Ubuntu+uwsgi+nginx+Django)

一、安装Python

  apt install python3

二、安装pip

  apt install python3-pip

三、创建目录

  创建虚拟服务目录

    mkdir -p /data/env

   创建项目目录

    mkdir -p /data/wwwroot

四、将项目复制到项目目录

五、安装虚拟环境

  pip install virtualenv

    虚拟环境下安装Django,并测试服务

      pip install django

      python manage.py runserver

    指定Python版本,并创建pyweb的虚拟环境

      cd  /data/env

      virtualenv -p /user/bin/python3 pyweb

六、安装uwsgi

  虚拟环境下安装

    pip install uwsgi

  非虚拟环境下安装

    pip3 install uwsgi

七、在项目目录下创建web.xml文件  

<uwsgi>
<socket>127.0.0.1:8997</socket><!-- 内部端口,自定义 -->
<chdir>/data/wwwroot/mysite/</chdir><!-- 项目路径 -->
<module>mysite.wsgi</module><!-- 项目目录名 -->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>

八、安装nginx

  apt install nginx

九、修改/ect/nginx/nginx.conf

server{
listen 80;
server_name localhost;
charset utf-8;
#index index.nginx-debian.html ;必须注销
#root /var/www/html;必须注销
access_log off;
location /static {
alias /data/wwwroot/mysite/static; #要与之前django的setting.py中添加的static静态文件转移目录一致
}
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997; #端口与原来的uwsgi中设置的端口一致
uwsgi_param UWSGI_SCRIPT mysite.wsgi #
uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite #与项目相同
}
}

十、执行nginx相关命令(切换到安装目录)

  检查配置文件是否错误 nginx -x

  启动 nginx

十一、执行web.xml文件

  切换到虚拟环境  sources /data/env/pyweb/bin/activate

   uwsgi -x /data/wwwroot/mysite.xml

十二、重启nginx

  nginx -s reload

十三、IP的相关设置

  ifconfig

  修改本机ip

    ifconfig eth0 192.168.1.100 netmask 255.255.255.0

  设置网关

    route add default gw 192.168.1.1

  重启网卡

    /etc/init.d/networking restart