今天首席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项目的命令的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。