首页>>后端>>Python->linux怎么运行django程序(运行django项目的命令)

linux怎么运行django程序(运行django项目的命令)

时间:2023-12-01 本站 点击:0

今天首席CTO笔记来给各位分享关于linux怎么运行django程序的相关内容,其中也会对运行django项目的命令进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、【踩坑】linux安装配置django环境踩坑记2、linux django uwsgi+nginx 怎么调试3、如何在Linux上使用Nginx和Gunicorn托管Django应用4、我有个linux的虚拟主机,我想运行django网站,怎么办?5、linux怎么安装django6、如何在服务器上部署Django项目并使其在后台一直运行

【踩坑】linux安装配置django环境踩坑记

linux默认是有python2的,但我又安装了python3,django是在python3的lib里,所以执行django-admin.py startproject learn,调用的python环境是python2的,所以找不到core.management。

阿里云自带的centos的sqlite版本低了

未知

使用 python -m pip 代替

未知

从./configure这一步开始重新安装python

可以用命令杀掉这个端口在重启:

vi 到具体文件,执行替换命令:

linux django uwsgi+nginx 怎么调试

1. python和django的环境搭建

(1)下载anaconda3并安装

wget

sh Anaconda3-2.3.0-Linux-x86_64.sh

一路enter键,然后提示是否加入到环境变量时,输入yes即可。

(2)安装django

直接pip install django

安装成功之后就可以新建项目

django-admin startproject demosite

cd demosite

python manage.py startapp blog

python manage.py migrate (要执行这个命令,让django生成可运行的app,否则后面使用uwsgi会报错)

(3)运行django

python manage.py runserver

curl 127.0.0.1:8000进行如果可以正常访问,就说明django安装成功。

2. 安装uwsgi

(1)centOS

yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

pip install uwsgi

uwsgi --version #查看 uwsgi 版本

(2)test.py

然后,Run uWSGI:

uwsgi --http :8000 --wsgi-file test.py

def application(env, start_response):

start_response('200 OK', [('Content-Type','text/html')])

return ["Hello World"] # python2

#return [b"Hello World"] # python3

(3)ubuntu可以能会出现错误:

如果出现错误,!!! no internal routing support, rebuild with pcre support !!!

sudo apt-get install libpcre3 libpcre3-dev

sudo pip uninstall uwsgi

sudo apt-get remove uwsgi

sudo pip install uwsgi

(4)测试

1) 打开下面url,浏览器上应该显示hello world

curl 如果安装httpie模块的话使用http

如果显示正确是Hello World,说明上面的环节是畅通的

2) 测试django

默认使用django新建工程会在app下面生成一个wsgi.py的文件

uwsgi --http :8000 --wsgi-file wsgi.py 直接这样也会报错

uwsgi --http :8000 --wsgi-file appname/wsgi.py

打开浏览器输入 如果现实正确说明web client --uwsgi --- django是畅通的

3. 安装配置nginx

(1)安装

wget

tar xf nginx-1.9.5.tar.gz

cd nginx-1.9.5

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module

make make install

或者参考

(2)配置文件

vi /usr/local/nginx/conf/nginx.conf

一般来说加入个server就OK了

参考配置如下

user root;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

pid logs/nginx.pid;

events {

use epoll;

worker_connections 65535;

}

http {

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '

# '$status $body_bytes_sent "$http_referer" '

# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

server {

listen 8099;

server_name 10.117.52.157; ##对外访问的IP和端口号

access_log /tmp/cms/access.log;

error_log /tmp/cms/error.log;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:8088;

uwsgi_read_timeout 300;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

#error_page 500 502 503 504 /registration/500.html;

#location = /registration/500.html {

# root html;

#}

location /static/ {

alias /root/cms/cms/static/;

index index.html index.htm;

}

location /media/ {

alias /root/cms/cms/media/;

}

}

}

(3)运行and 重启

/usr/local/nginx/sbin/nginx

启动: nginx start

重启: nginx -s reload

4. 使用uwsgi的配置文件运行django

在确保nginx运行之后,就可以通过uwsgi来运行django了。nginx 在最外层接收请求,静态的自己处理,动态的通过 socket端口交给uwsgi来处理。

配置文件内容如下

[uwsgi]

socket=:8088 #要和nginx对应的IP和端口号一致

chdir=/root/cms/cms #APP的目录

module=cms.wsgi #wsgi.py文件位置

touch-reload=/root/cms/cms/reload #重启只要输入命令touch reload文件即可

processes=4

threads=2

daemonize=/tmp/cms/wsgi.log #日志文件位置

放在APP的上一级目录

直接运行uwsgi --ini uwsgi.ini 即可

如何在Linux上使用Nginx和Gunicorn托管Django应用

apt-get

服务器拿到手后第一件事就是更新apt-get,要换源什么的自己搜一大堆。之前因为系统不小心选成了Ubuntu 10.04了,遇到一大堆问题,后来换到12.04一切顺利。

apt-get update

pip

pip还是建议更换源,速度是飞一般的感觉。具体方法可以看看我之前介绍的那篇文章《Pythoner的福利,豆瓣的PyPI源》

sudo apt-get install python-pip

Django

Django不用说肯定是用pip装,我一般是用的最新版,这样就可以了。

sudo pip install django

Nginx

首先给默认的Nginx配置备个份,这是好习惯。目录位于/etc/nginx/sites-available/default

cp /etc/nginx/sites-available/default default.bak

然后Vim编辑

vim /etc/nginx/sites-available/default

server {

listen 80;

server_name ;

access_log /var/log/nginx/isaced.log;

location / {

proxy_pass ;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

location /static/ {

root /data/isaced; #Django项目所在目录

}

以上是最简单的Nginx配置,目的是为能跑起来就行,更多其他详细配置还请参照其他文章。

Gunicorn

Gunicorn是一个朋友(CloverStd)推荐的,一个开源Python WSGI UNIX的HTTP服务器,Github仓库地址在这,传说速度快(配置快、运行快)、简单,默认是同步工作,支持Gevent、Eventlet异步,支持Tornado,官方有很详细的文档可以参阅。

需要在你的Django项目的settings.py中的INSTALLED_APPS加入:gunicorn

gunicorn --worker-class=gevent isaced.wsgi:application

--worker-class

指定工作方式,这里我用的gevent

如果提示You need gevent installed to use this worker则表示你还没有安装gevent。

isaced.wsgi:application

这里是指你的项目名,在Django创建项目的时候会自动生成对应名字文件夹中的wsgi.py,这里就是指的它。

###nohup

nohup是一个Linux命令,用来不挂断地运行某条命令。这里我们用它来执行gunicorn,来保持gunicorn进程不会被挂断。

nohup gunicorn --worker-class=gevent NSLoger.wsgi:application -b 127.0.0.1:8000

--worker-class来指定工作方式为gevent,-b指定地址和端口号。

注意:在尾部加上(and)字符表示后台运行

执行这条命令后可以用ps命令查看进程,就能看到gunicorn了~

Start

好了,以上就是整个服务器的配置了。然后我们重启下Nginx,刷新页面就能看到你的Django App了。

sudo service nginx restart

我有个linux的虚拟主机,我想运行django网站,怎么办?

我是linux主机,我这样在本地运行django

1 在终端进入django项目的文件夹,是有manage.py的那个目录

2 然后运行 python manage.py runserver

就可以跑起来了

linux怎么安装django

使用说明

1、打开精通django(django 1.8 lts全解)下载并解压,得出pdf文件

2、如果打不开本文件,请务必下载pdf阅读器

3、安装后,在打开解压得出的pdf文件

4、双击进行阅读

如何在服务器上部署Django项目并使其在后台一直运行

前几天老师让我把一个Django项目(爬虫网页)放到校园内网上,但是我想先用自己的服务器来尝试一下。之前刚好有在Digital Ocean上买过服务器用来运行ss脚本,平时服务器一直放着没啥用,所以就拿它来试验一下。

废话不多说,第一步通过WinSCP软件把Django文件传到服务器上。

在服务器中安装Django需要的环境和我所需要的Python第三方库。

以上所有步骤完成后,还需要进行一步操作,这是我经历的一个 坑 。 打开Django文件目录中的 settings.py ,把 ALLOWED_HOSTS=[] 改为 ALLOWED_HOSTS=["*"] 。

在服务器中打开到 manage.py 所在的目录,输入命令:

python3 manage.py runserver 0.0.0.0:8000

然后按下回车,在浏览器中输入: 该服务器IP地址:8000 ,大功告成!

Attention:

1. python3 不是特定的,是根据你的Django项目所需要的环境指定的。

2. 8000 是端口号,可以修改。

如果想要Django项目一直运行,关闭终端后还在运行,即需要运行如下命令, nohup command , command 即位上文所说的 python3 manage.py runserver 0.0.0.0:8000 。

结语:以上就是首席CTO笔记为大家介绍的关于linux怎么运行django程序和运行django项目的命令的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/5697.html