安装python3

安装仓库软件

sudo apt-get install software-properties-common python-software-properties

添加仓库

sudo add-apt-repository ppa:jonathonf/python-3.6

更新

sudo apt-get update

安装python3.6

sudo apt-get install python3.6

修改python3版本

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

sudo update-alternatives --config python3

安装pip3

sudo apt install python3-pip

安装虚拟模块

apt install python3.6-venv

cd进入项目目录,建立虚拟环境目录

python3 -m venv env

激活虚拟环境

source env/bin/activate

配置项目

安装依赖

pip3 install -r requirements.txt

ubuntu 安装依赖报错, 可能是需要先安装

sudo apt-get install python3.6-dev

上传代码,并运行起来

sanic 运行方式: python3 -m sanic server.app --host=0.0.0.0 --port=1337 --workers=4 #后面参数如果文件里有app.run().参数可以不写

gunicorn方式: gunicorn server:app --bind 0.0.0.0:3000 --worker-class sanic.worker.GunicornWorker

Supervisor + gunicron 监控端口,重启服务

文档:https://www.cnblogs.com/weidiao/p/6505346.html

[program:btc]
directory = /www/wwwroot/python_project/btc.local
command=/www/wwwroot/python_project/btc.local/env/bin/gunicorn server:app --bind 0.0.0.0:3000 --worker-class sanic.worker.GunicornWorker
autostart=true
autorestart=true
stdout_logfile=/www/wwwroot/python_project/btc.local/logs/gunicorn.log
stderr_logfile=/www/wwwroot/python_project/btc.local/logs/gunicorn.err

supervisorctl reload

配置nginx

上面可以用Ip地址访问程序了,但要域名访问需配置nginx

server {
listen 80;
server_name example.org; # 这是HOST机器的外部域名,用地址也行 location / {
proxy_pass http://127.0.0.1:8080; # 这里是指向 gunicorn host 的服务地址
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

或者

server {
listen 80;
# 这是服务器的外部域名(不建议用IP地址)
server_name example.com www.example.com; location / {
# 这里是指向gunicorn服务器的端口
proxy_pass http://localhost:8080;
} location /static {
# 配置静态文件的相对地址
alias /mnt/www/app/static
}
}

启动nginx: sudo service nginx restart

配置python3 项目环境的更多相关文章

  1. PyCharm配置Python3开发环境

    PyCharm配置Python3开发环境 PyCharm的开发环境是配置在对应的工程中: 一.创建一个Project 工具栏:New - New Project 建议指定一个专门的目录 ,用来存放py ...

  2. Sublime Text3 配置Python3编译环境

    Sublime Text3 配置Python编译环境 进入Sublime Text3 ,然后选择菜单:工具(T)==>编译系统(U)==>新编译系统... 把上面的代码换成如下代码: &q ...

  3. Sublime Text 3配置 Python3 开发环境

    来自 https://www.cnblogs.com/zhangqinwei/p/6886600.html Sublime Text作为一款支持多种编程语言的文本编辑神器,深受广大开发者的喜爱.通过简 ...

  4. Oracle-Linux安装配置python3.6环境

    最近公司更换了linux系统的版本,从Ubuntu改为了oracle linux,相关的Python环境也要重新配置,记录一下基本配置的过程. 相关环境 系统:oracle linux7.3 系统自带 ...

  5. 【python3】window下 vscode 配置 python3开发环境

    本文以python3.7 为例 一 下载python3 url : https://www.python.org/downloads/windows/ 提示: 安装过程中.记得勾选  添加环境变量 二 ...

  6. SublimeText配置Python3运行环境

    1.查看python3安装路径which python3 2.打开sublime text 3,点击上部菜单栏Tools->Build System->new Build System 3 ...

  7. 解决sublime text3配置Python3编译环境:运行代码时提示“NO Build System”

    只需要在路径中把单杠换成双杠,重启sublime即可.

  8. anaconda3下配置python-3.5+tensorflow-gpu-1.9.0人脸识别项目环境

    https://www.cnblogs.com/31415926535x/p/10620732.html 之前为了配置tensorflow-gpu的环境又是装cuda,又是装cudnn,还有tenso ...

  9. 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...

随机推荐

  1. 慕课网5-2编程练习:flex布局制作卡片布局案例

    慕课网5-2编程练习:flex布局制作卡片布局案例 小伙伴们,学习了卡片布局,接下来我们根据效果图,也写出一个卡片布局的页面吧! 效果图如下: 任务 1.主体内容的卡片一行只能显示两个. 2.卡片与卡 ...

  2. Java标准输入流system.in报错: java.util.NoSuchElementException解决方法

    我的程序大概是这样的: main()主函数里面,调用两个自定义的方法,这里我们称之为方法a和方法b: 主函数main()里有一个:Scanner scanner = new Scanner(Syste ...

  3. ElasticSearch | centos7 上安装ES

    0 参考博客文章(感谢!!!) [1]  https://www.jianshu.com/p/10949f44ce9c 在linux服务器上安装jdk [2]  https://www.elastic ...

  4. python包管理工具他们之间的关系

    python包管理工具之间的关系 现在的python包管理工具有很多,非常混乱,必须理清他们之间的关系才能更好的使用python构建强大的包关系系统工具. 首先:python官方推荐的第三方库是PyP ...

  5. Android网络状态监控

    Android 监控网络状态 在Android网络应用程序开发中,经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化.android的网络状态监听可以用BroadcastReceiver来接 ...

  6. sql server添加用户和给用户授权

    --创建用户CREATE LOGIN 用户名 WITH PASSWORD=N'密码', DEFAULT_DATABASE=数据库名, CHECK_EXPIRATION=OFF, CHECK_POLIC ...

  7. SSM Note

    1.获取项目的绝对路径:${pageContext.request.contextPath } 2.销毁session:session.invalidate(); 3.控制器接收前端参数时,参数名要与 ...

  8. AJPFX总结面向对象思想设计原则

    面向对象思想设计原则   A.单一职责原则           其实就是开发人员经常说的”高内聚,低耦合”           也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原 ...

  9. JSP(Java Servlet Page)

    一.简介 HTML HTML擅长显示一个静态的网页,但是不能调用Java程序. Servlet Servlet擅长调用Java程序和后台进行交互,但是它不擅长显示一个完整的HTML页面. 我们希望创建 ...

  10. spark源码学习-withScope

     withScope是最近的发现版中新增加的一个模块,它是用来做DAG可视化的(DAG visualization on SparkUI) 以前的sparkUI中只有stage的执行情况,也就是说我们 ...