如何在Linux环境下通过uwgsi部署Python服务
部署python程序时常常会遇到同一台服务器上2.x和3.x共存的情况,不同应用需要使用不用的python版本,使用virtualenv创建虚拟环境能很好地解决这一问题。
首先,需要在服务器上安装virtualenv,命令如下:
sudo yum install python-virtualenv
系统会自动下载依赖项目,如下图,安装已经成功了:

接下来需要创建虚拟环境,我们需要python3.6版本:
virtualenv -p /usr/local/bin/python3.6 python3.6

创建好虚拟环境时,virtualenv会帮我们把pip等工具也安装好。下面测试一下我们创建的虚拟环境:
/root/venv/python3.6/bin/python3.6 -V
python已经安装成功了,由于我们发布站点,需要借助uwsgi,下面来安装uwsgi:
/root/venv/python3.6/bin/pip install uwsgi

好了,uwsgi也安装成功了,下面就可以启动我们的站点了,uwsgi配置如下:
[uwsgi]
http = 0.0.0.0:7013
processes = 1
master = true
pythonpath = /usr/local/WordVecServiceCommon
chdir = /usr/local/WordVecServiceCommon
module = WordVecService.service
callable = app
memory-report = true
daemonize = /usr/local/WordVecServiceCommon/logs/uwsgi.log
touch-reload = /usr/local/WordVecServiceCommon/wsgi.txt
启动服务:
/root/venv/python3.6/bin/uwsgi --ini uwsgi_conf.ini
通过/logs/uwsgi.log日志文件查看启动情况:

好了,服务已经启动成功了,我们通过postman测试一下是否能够正常访问。
如何在Linux环境下通过uwgsi部署Python服务的更多相关文章
- 在Linux环境下使用Apache部署ASP.NET Core
		
在前几篇文章中我们一起探讨了如何在Linux环境中安装ASP.NET Core运行时环境及将ASP.NET Core项目部署在Jexus中,这篇文章中我们将探讨如何将ASP.NET Core部署于Ap ...
 - 如何在linux环境下配置环境变量
		
jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在linux环 ...
 - 在Linux环境下使用Jexus部署ASP.NET Core
		
关于如何在Linux中添加ASP.NET Core运行时环境请参考我的上一篇文章,本文章将不再做赘述. 本文章运行环境如下: (1) 安装独立版Jexus 本教程安装的是独立版的Jexus,独立版的 ...
 - 如何在Linux环境下用虚拟机跑Windows!
		
文章目录 #0x0 Windows #0x1 安装虚拟机 #0x10 下载: #0x11 安装: #0x2 安装虚拟机windows #0x20 下载镜像 #0x21 安装镜像 #0x3 使用Wind ...
 - Linux环境下详细讲解部署MySQL5.7版本
		
说明: 在本人写作这篇安装MySQL文章时,虽然MySQL已经发布到8.0.17版本,但对于行业来说,主力版本依然是5.7版本.目前在Linux环境默认安装时,大部分已经默认安装到8版本了,所以本人特 ...
 - 分享一个 Linux 环境下,强力的Python 小工具
		
场景 Linux 用户,经常需要在终端查看一些数据,从文件里看 或者网络协议获取数据并查看. 比如,查看文件里的json数据:比如,查看etcd里存下的数据. 如果直接看cat 或者 curl 得到的 ...
 - linux 环境下tomcat中部署jfinal项目
		
tomcat中部署jfinal项目 问题现象如下图 问题描述: 我在自己的windows7系统上tomcat下面跑这个项目没有任何问题吗,但是当我把项目上传到linux服务器上的tomcatwebap ...
 - linux环境下的Oracle部署
		
一. 环境及相关软件 虚拟机:VMwore Workstation Linux系统:CentOS ORACLE:ORACLE_112030_Linux-x86-64 Xmanger软件 二. 安装 ...
 - 虚拟机中Linux环境下使用Squid部署代理缓存服务(及透明传输)
		
小知识: 正确的使用Squid服务程序部署代理缓存服务可以有效提升访问静态资源的效率,降低原服务器的负载. 不仅如此,还为读者们添加了对指定IP地址.网页关键词.网址与文件后缀的ACL访问限制功能的实 ...
 
随机推荐
- [分布式系统学习] 6.824 LEC2 RPC和线程 笔记
			
6.824的课程通常是在课前让你做一些准备.一般来说是先读一篇论文,然后请你提一个问题,再请你回答一个问题.然后上课,然后布置Lab. 第二课的准备-Crawler 第二课的准备不是论文,是让你实现G ...
 - linux 系统信息查看
			
查看系统版本:lsb_release -a 查看内核版本:uname -a 查看cpu型号:cat /proc/cpuinfo 查看硬盘空间情况df -lm 查看内存:free -m VGA显卡:l ...
 - Vim多行编辑
			
vim编辑文档有时候需要多行同时插入或者删除,比如多行加注释应该怎么操作 vim进了多行编辑模式:<ESC>之后按CTRL+V进入visual block模式(列编辑). 光标移到某行行首 ...
 - 基础知识系列☞C#中→委托
			
有些.NET中的高级特性,比如:委托! 有一种怎么也搞不懂的赶脚... 博客读了好几篇,代码也动手写了,书中的一些介绍也看了, 各种搜索关于委托的,至今还处于"会用"的阶段. 该怎 ...
 - Spyer中添加一些常用包的方法
			
我用的是Anaconda中的Spyer编译,在导入包pyaudio时,发现找不到,需要手工导入.可以打开Anacoda promt,查看已经安装的包名用:pip list Spyer中的所有包在这里安 ...
 - OC中分类(Category)和扩展(Extension)
			
1.分类的定义 category是Objective-C 2.0之后添加的语言特性,中文也有人称之为分类.类别.Category的主要作用是为已经存在的类添加方法.这个大家可能用过很多,如自己给UIC ...
 - 区块链,Ethereum-Wallet
			
https://blockchain.info/charts/transactions-per-second https://slock.it/ https://en.wikipedia.or ...
 - snowflake and uuid
			
分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的. 有些时候我们希望能使用一种简单一 ...
 - ListView多种item注意以及自己出现的莫名其妙的错误
			
如果ListView不懂,请绕路 1.ListView添加多个item必须用到的两个方法 getViewTypeCount一共有多少种item,我这里写的两种 getItemViewType当前pos ...
 - Domino代理运行问题
			
当Server出现“operation is disallowed in this session”此命令时为代理权限问题,修改后即可正常运行代理.