Ubuntu部署django项目

安装好python环境,安装nginx,安装uwsgi,安装SSH

修改django项目中的配置文件settings

DEBUG = False

ALLOWED_HOSTS = ["*"]

如果有静态文件static路径也需要配置一下。将项目通过filezilla传到Ubuntu上

这个时候如果还需要修改文件的话,需要在filezilla上修改

filezilla中编辑——设置——文件编辑,选择打开方式,进行编辑

在项目里新建一个uwsgi.ini文件

[uwsgi]
# Django-related settings
socket = 127.0.0.1:9001
# 项目绝对路径
chdir           = /home/project/LoginDemo
# Django的wsgi文件相对路径
wsgi-file       = LoginDemo/wsgi.py
# process-related settings
# master
master          = True
# 最大进程数
processes       = 4
# 线程数
threads         = 2
#设置此参数,有一个主进程
master=True
#守护进程的方式运行,log日志存在此log文件里
deamonize=/var/log/uwsgi/djangoProject.log
#主进程id写入文件里
pidfile= /var/log/nginx/uwsgi.pid
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
#退出时,清理环境
vacuum          = True
reload-mercy    = 10
max-requests    = 5000
limit-as        = 512
buffer-size     = 30000

进入etc/nginx/conf.d文件夹下创建django_nginx.conf文件

server {
    listen         8000; 
    server_name    127.0.0.1 
    access_log      /var/log/nginx/logindemo_access.log;
    error_log       /var/log/nginx/logindemo_error.log;
	charset     utf-8;

    client_max_body_size 75M;
    root /home/project/LoginDemo
    location / { 
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9001;
        uwsgi_read_timeout 2;
    }   
    location /static/ {
        expires 30d;
        autoindex on; 
        add_header Cache-Control private;
        alias /home/project/LoginDemo/static/;
     }
 }

如果权限不够的话,在Xshell中使用sudo chmod 777 /文件路径 改变权限

sudo chmod 600 ××× (只有所有者有读和写的权限) 
 
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) 
 
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限) 
 
sudo chmod 666 ××× (每个人都有读和写的权限) 
 
sudo chmod 777 ××× (每个人都有读和写以及执行的权限) 

之后重启Nginx

进入uwsgi.ini的上一级文件,也就是项目

命令uwsgi -- ini uwsgi.ini 运行django项目

通过浏览器访问,正常则表示部署正确

----------------问题-------------------

1,uwsgi遇到ImportError: No module named django.core.wsgi问题

通过在wsgi.py里面打印sys.path发现是因为path里面并没有包含该安装的site-packages的路径,因此在wsgi.py添加如下语句

sys.path.append('/usr/lib/python2.7/site-packages')  

sys.path.append('/usr/lib64/python2.7/site-packages')

netstat -ap | grep 8080  查看8080端口是谁在使用

kill -9 pid号  强制关闭占用端口的程序





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值