PythonWeb 服务部署文档及迁移到Linux相关
pythonWeb的部署(Django+Uwsgi):
1、 部署服务器上需要的Python3.6环境:
安装集成了python3.6 和pip ,virtualenv虚拟环境 的Anaconda(Anaconda3-5.0.1-Lin-x86_64.sh)
下载地址 :https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.0.1-Linux-x86_64.sh
下载完成后放到服务器的/root目录下,
在/root目录下运行 “bash Anaconda3-5.0.1-Lin-x86_64.sh“ 进行安装,
安装过程中当遇到【yes/no】的提示时,选择yes,
等待安装完毕,修改服务器上的默认python版本为Anaconda中的python,
运行“vim /etc/profile”,在最后一行输入” export PATH=/root/anaconda3/bin:$PATH”,
Esc +“:wq”保存后,运行“source /etc/profile”刷新配置。
此时修改python环境完成,输入python –version查看当前默认python版本。
2、 配置uwsgi(必须完成第一步配置python环境后才可配置uwsgi,否则版本不对,出错):
下载uwsgi(uwsgi-2.0.17.1.tar.gz)的压缩包,
下载地址为:https://pypi.org/project/uWSGI/#files ,
下载完成后传输到服务器的/root 目录下,
在/root目录下运行“tar –zxvf uwsgi-2.0.17.1.tar.gz”进行解压,
cd 到被解压的uwsgi目录下,运行‘“make”进行安装,等待安装完成,
运行“./uwsgi --version”查看版本并确认是否安装成功。
3、 部署相应的Django-pythonWeb服务:
将需要进行部署的pythonWeb文件夹放到/root目录下,
cd 到该pythonWeb文件夹下,既manage.py所在的那一级目录,
运行“vim pythonWebUwsgi.ini”编写对应此web服务的uwsgi配置文件,配置文件可随意命名,后缀为ini,配置文件内容为:
|
[uwsgi] chdir = /root/sendPost module = sendPost.wsgi:application http = 127.0.0.1:8000 master = true |
解释下每一行:第一行必写,否则uwsgi无法识别此配置文件
第二行项目所在路径,第三行对应wsgi.py所在路径
第四行为主机和端口号,第五行设置默认主进程运行
4、uwsgi服务的启动和停止:
启动:在uwsgi目录下,运行“./uwsgi xxxx/pythonWebUwsgi.ini” 既在uwsgi目录下启动我们项目下自己配置的uwsgi配置文件。
停止:“Ctrl+C” 或者 “killall -9 uwsgi”
PS:
Linux上安装python(我没有用到,只是单纯的记录下)
python解压包放上去,mv python-xx /opt/
cd /opt/
tar -xzvf Python-3.6.1.tgz -C /usr/local/src/
cd /usr/local/src/Python-3.6.1
./configure --prefix=/usr/local/python3
make && make install
cd /etc/profile.d/
vim python3.sh
export PATH="$PATH:/usr/local/python3/bin"
source ../profile
echo $PATH
mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
python --version
#vi /usr/bin/yum
把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.6
PythonWeb 服务部署文档及迁移到Linux相关的更多相关文章
- PPTP部署文档
PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- supervisor 部署文档
supervisor 部署文档 supervisor 需要Python支持,如果不用系统的supervisor,单独安装python python 安装 #依赖 yum install python- ...
- HP DL160 Gen9服务器集群部署文档
HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server Memo ...
- Sqlserver2008安装部署文档
Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步 ...
- CDH简易离线部署文档
CDH 离线简易部署文档 文档说明 本文为开发部署文档,生产环境需做相应调整. 以下操作尽量在root用户下操作,避免权限问题. 目录 文档说明 2 文档修改历史记录 2 目录 3 ...
- Ceph分布式存储(luminous)部署文档-ubuntu18-04
Ceph分布式存储(luminous)部署文档 环境 ubuntu18.04 ceph version 12.2.7 luminous (stable) 三节点 配置如下 node1:1U,1G me ...
- yapi部署文档
windows 下 yapi部署文档 安装nodejs 安装mongodb 安装yapi 介绍 随着 web 技术的发展,前后端分离成为越来越多互联网公司构建应用的方式.前后端分离的优势是一套 Api ...
- keepalived双机热备,安装部署文档
keepalived双击热备,安装部署文档: 下载目录:/apps/keepalived-1.2.7.tar.gz 1:---> yum install -y make wget 2:---&g ...
随机推荐
- Android ViewPager里的所有图片设置监听打开同一活动显示不同图片
Android ViewPager里的所有图片设置监听请看前一文章 为了省时所以2层菜单只做一个点击任意图片后显示相应图片的活动 关键点是每个点击对应的图片如何传参给显示的活动 因为只启动一个活动,所 ...
- Scrapy-从数据库取出IP并判断是否可用
import pymysql import requests conn = pymysql.connect(host="localhost",user="root&quo ...
- mysql远程连接权限设置
今儿有位同事提出,一套MySQL 5.6的环境,从数据库服务器本地登录,一切正常,可是若从远程服务器访问,就会报错, ERROR 1045 (28000): Access denied for use ...
- GATK --- wdl 语言
GATK的pipeline使用WDL进行编写 WDL是一种流程管理语言,内置的支持并行,适合编写pipeline 运行wdl脚本需要两步:第一步编辑参数列表对应的json文件,第二步直接运行Cromw ...
- docker save和docker export的区别
docker save保存的是镜像(image),docker export保存的是容器(container): docker load用来载入镜像包,docker import用来载入容器包,但两者 ...
- MYSQL注入天书之盲注讲解
Background-2 盲注的讲解 何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面.此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注.从ba ...
- RabbitMQ 安装 rabbitmq_delayed_message_exchange插件
rabbitmq_delayed_message_exchange插件主要是实现延迟队列 一.下载插件 下载地址:http://www.rabbitmq.com/community-plugins.h ...
- 洛咕 P2494 [SDOI2011]保密
出题人没素质啊,强行拼题还把题面写得又臭又长. 简单题面就是有一张图,每条边有两个权值\(t,s\),有无限支军队,一支军队可以打一个点,代价是从n到这个点的路径的\(\frac{\sum t}{\s ...
- Python之闭包函数、装饰器
1.闭包函数 #作用域关系在函数定义阶段时就已经固定死了,与调用位置无关 # 即:在任意位置调用函数都需要跑到定义函数时寻找作用域关系 # def f1(): # x=1 # def inner(): ...
- 洛谷P1585 魔法阵
题目传送门 这题就是一个有技巧的DFS+一大堆乱七八糟的剪枝 进行DFS时注意一下以下点 根据题意,我们可以把DFS分成两块,即1--n*m/2与n*m/2--n*m,第一块边找边记录,第二块就开始计 ...