ubuntu gevent(ubuntu device for boot loader)
大家好,关于ubuntu gevent很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于ubuntu device for boot loader的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
linux怎么运行django程序(运行django项目的命令)
今天首席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
makemake install
或者参考
(2)配置文件
vi/usr/local/nginx/conf/nginx.conf
一般来说加入个server就OK了
参考配置如下
user root;
worker_processes1;
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
pidlogs/nginx.pid;
events{
use epoll;
worker_connections65535;
}
http{
include mime.types;
default_typeapplication/octet-stream;
#log_formatmain'$remote_addr-$remote_user [$time_local]"$request"'
#'$status$body_bytes_sent"$http_referer"'
#'"$http_user_agent""$http_x_forwarded_for"';
#access_loglogs/access.logmain;
sendfileon;
#tcp_nopush on;
#keepalive_timeout0;
keepalive_timeout65;
#gzipon;
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_loglogs/host.access.logmain;
location/{
includeuwsgi_params;
uwsgi_pass 127.0.0.1:8088;
uwsgi_read_timeout 300;
}
#error_page404/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/;
indexindex.html index.htm;
}
location/media/{
alias/root/cms/cms/media/;
}
}
}
(3)运行and重启
/usr/local/nginx/sbin/nginx
启动: nginxstart
重启: 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项目的命令的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
如何在Ubuntu14.04上搭建私有docker registry-Linux
运行私有docker registry,就好比为docker镜像运行私有git仓库。在Ubuntu14.04上搭建私有docker registry-Linux的步骤:
第一步——安装必要的软件
1、在docker registry服务器上,应当创建一个拥有sudo权限的用户(如果可以,在客户机上也如此)。
2、docker registry软件是一款python应用,因此为了使其能够运行起来,需要安装python开发环境以及必要的库:
sudo apt-get updatesudo apt-get-y install build-essential python-dev libevent-dev python-pip liblzma-dev
第二步——安装并配置docker registry
1、为了安装最新的稳定的docker registry发行版,将使用python包管理工具pip:
sudo pip install docker-registry
2、docker-registry需要配置文件。默认地,pip将该配置文件放置在相当偏僻的地方,因系统中python的安装位置而异。因此,为了找到该路径,将尝试运行registry,以查看相关的输出:
gunicorn--access-logfile---debug-k gevent-b 0.0.0.0:5000-w 1 docker_registry.wsgi:application
3、由于配置文件不在正确的位置,上述尝试将会以失败而告终,并输出一条包含FileNotFoundError错误消息。
Ubuntu安装Odoo
说个坑,需要先进root账户。否则会有创建不了相关文档及位置的提示报错。
wget
tar-zxf Python-3.9.0.tgz
cd Python-3.9.0
./configure--prefix=/usr/local/python3
./configure--enable-optimizations
Step 1: Update Server
Step 2: Create Odoo User in Ubuntu
Step 3: Install PostgreSQL Server
Step 4: Create Odoo user for postgreSQL
Step 5: Install Python Dependencies
Step 6: Install Python PIP Dependencies
Step 7: Install other required packages
Step 8: Install Wkhtmltopdf
Step 9: Create Log directory
Step 10:Install Odoo
Step 11: Setting permissions on home folder
Step 12: Create server config file
Step 13: Install other Dependencies
Step 14:创建一个 Systemd Unit文件
打开你的文本编辑器,并且在/etc/systemd/system/目录下创建一个名为odoo.service的文件,将下面的内容粘贴到文件中:
保存文件并且关闭编辑器。
设置该文件的权限
通知 Systemd有一个新的 unit文件:
Step 15: Now Start Odoo
通过执行下面命令启用并且启动 Odoo服务:
或者直接执行以下命令
你可以通过下面的命令检查服务状态:
想要查看 Odoo服务日志,使用下面的命令:
打开你的浏览器,输入:
假设所有安装完成,你将会看到下面这样的屏幕:
如果你无法访问这个页面,那很可能是你的防火墙阻止了端口8069。请在宝塔面板(或通过防火墙命令)放行端口8069,云服务器上防火墙策略也应放行。
将 Nginx配置成 SSL代理服务器
默认的 Odoo网站服务器通过 HTTP服务。想要使 Odoo部署更安全,我们将会配置 Nginx作为 SSL代理服务器,使网站服务器通过 HTTPS进行服务。
SSL代理服务器是一个用来处理 SSL加密解密的代理服务器。这意味着,Nginx将会处理并且解密进来的 TLS连接(HTTPS),并且传递未被加密的请求到内部服务(Odoo)。在 Nginx和 Odoo之间的流量将不会被加密。
使用一个反向代理服务器有很多好处,比如负载均衡,SSL,缓存,压缩,静态内容服务,等等。
确保你满足下面的前提条件,再继续下一步的安装配置:
一个指向你的服务器的公网 IP的域名,我们使用example.com。
安装 Nginx
域名的 SSL证书。你可以安装一个免费的 Encrypt SSL证书。
打开你的文本编辑器,创建或者编辑域名服务器配置块:
下面的配置将会建立 SSL,HTTP转向 HTTPS,WWW转向 non-www,缓存静态文件,并且开启 GZip压缩。
不要忘记使用你自己的 Odoo域名替换 example.com并且设置正确的 SSL证书地址。
一旦你完成了,重启 Nginx和Odoo服务:
此时,反向代理服务器配置好了,你可以通过 来访问 Odoo了。
改变监听端口
这一步是可选的,但是它是一个很好的实践操作。
默认情况下,Odoo服务监听所有网络接口的8069端口。想要禁止对 Odoo的直接访问,你可以封锁8069端口,并且强制 Odoo只监听本地监控。
我们将会配置 Odoo仅仅监听 127.0.0.1。打开配置文件,添加下面的内容到文件最后面:/etc/odoo13.conf
保存配置文件,并且重启 Odoo服务器,使修改生效:
如果日志出现以下错误
「connect() failed(111: Connection refused) while connecting to upstream, client: XX.XX.XX.XX, server:, request:"POST/longpolling/poll HTTP/1.1", upstream:" ", host:"XX.XX.XX.XX", referrer:" "」
解决:
Let's just say you have a longpolling parameter in your odoo-server.conf
and set
after starting your odoo, just runs$ sudo netstat-tulpn to ensure that your longpolling is running, and you'll get this info:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8072 0.0.0.0:* LISTEN 10121/python3
tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN 10119/python3
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1461/sshd
...
when you can't find your longpolling there(that's why Bad Gateway Occurs, nginx can not find the running longpolling port), maybe just need to install gevent first:
and restart your odoo.
check$ sudo netstat-tulpn again, and you'll see that your longpolling port already running..
启用多进程
默认情况下,Odoo工作在多线程模式。对于产品级别的部署,我们推荐修改成多进程服务器,提升稳定性,并且充分利用系统资源。
想要启用多进程,你需要编辑 Odoo配置文件,并且设置一个非 0的工作进程数字。工作进程数字,基于系统中的 CPU核心数字和可用的 RAM内存来计算。
通过 Odoo官方文档计算工作进程的数量以及需要的 RAM内存大小,你可以使用下面的公式:
工作进程数量计算:
工作进程最大数量理论值=(system_cpus* 2)+ 1
1个工作进程可以服务约等于 6个并行客户。
Cron进程也需要 CPU
RAM内存大小计算
我们考虑 20%的请求是重请求,并且 80%的请求是轻量级请求。重量级请求使用将近 1GB RAM,而轻量级请求使用将近 150MB RAM。
需要的 RAM= number_of_workers*((light_worker_ratio* light_worker_ram_estimation)+(heavy_worker_ratio* heavy_worker_ram_estimation))
如果你不知道你的系统有多少 CPU,你可以使用下面的grep命令:
比方说,你有一个系统,拥有 4核心 CPU,8GB RAM内存,和 30个并行 Odoo用户。
30 users/ 6= 5(5是所需要的理论工作进程数量)
(4* 2)+ 1= 9(9是理论的最大工作进程数量)
基于上面的计算,你可以使用 5个进程+1个进程(Cron进程)总共 6个进程。
基于工作进程,计算 RAM内存:
RAM= 6*((0.8 150)+(0.2 1024))~= 2 GB of RAM
计算结果显示,Odoo安装将会需要大概 2GB内存。
想要切换到多进程模式,打开配置文件,并且添加计算值:/etc/odoo-server.conf
重启 Odoo服务,使修改生效: