阿里云配置python(flask, django)虚拟运行环境

Linux环境Python安装与配置
本文详细介绍如何在Linux环境下安装并配置Python环境,包括安装指定版本的Python、更新pip工具、创建及管理虚拟环境等。此外,还介绍了如何安装MySQL数据库及其客户端,并配置MySQL远程访问权限。
  1. 查看源 cat /etc/apt/sources.list 和ls /etc/apt/sources.list.d 中列出的源的索引
  2. 同步: sudo apt-get update
  3. 升级: sudo apt-get upgrade
  4. 安装python3.6

    1
    2
    3
    4
    5
    6
    7
    wget https: //www .python.org /ftp/python/3 .6.2 /Python-3 .6.2. tar .xz 
    xz -d Python-3.6.2. tar .xz 
    tar -xvf  Python-3.6.2. tar 
    cd Python-3.6.2
    . /configure 
    make 
    sudo make install
  5. 升级pip2: pip install --upgrade pip
  6. 安装pip3: sudo apt install python3-pip
  7. 跟新pip3: pip3 install --upgrade pip
  8. 创建用户: sudo useradd python -m
  9. 设置密码: passwd python
  10. 设置权限:
1
2
3
sudo usermod python -a -G adm
sudo usermod python -a -G sudo
sudo usermod python -a -G root
  1. 切换账户: su python
  2. 卸载mysql旧版本: sudo apt-get remove mysql-server
  3. 安装mysql: sudo apt-get install mysql-server
  4. 安装mysql客户端:

    1
    2
    3
    4
    5
    6
    sudo apt-get install mysql-client
    sudo apt-get install python3-dev libmysqlclient-dev
    sudo apt-get install mysql-client
    - sudo service mysql start   # 启动 sudo /etc/init.d/mysql start
    - sudo service mysql stop     # 停止 sudo /etc/init.d/mysql stop
    - sudo service mysql restart # 重启 sudo /etc/init.d/mysql restart
  5. 配置mysql文件

    1
    2
    3
    4
    5
    6
    - 切换到root操作:
    - 默认配置文件: /etc/mysql/mysql .conf.d /mysqld .cnf
    - bind-address表示服务器绑定的ip,通过此ip连接服务器,可以配置成其它ip或者不配置,默认是127.0.0.1
    - port表示端口,默认为3306
    - datadir表示数据库目录,配置为 /var/lib/mysql
    - log_error表示错误日志,配置为 /var/log/mysql/error .log
  6. 开启MySQL root用户远程登录权限:

    1
    2
    3
    4
    5
    6
    - mysql -uroot -pmysql  # 登录mysql
    - use mysql;     # 进入mysql数据库
    - select host, user from user where user= 'root' # 查看 root 用户的 host,默认只能被本机IP(127.0.0.1)登录
    - update mysql.user set host = '%' where user = 'root' #  % 表示任意IP,语句表示更新root用户信息,让root用户可以被任意主机IP登录
    - flush privileges;  # 使修改生效
    - sourec xxx.sql 导入数据库
  7. 虚拟环境安装

    1
    2
    3
    4
    5
    6
    7
    8
    - sudo pip3 install virtualenv virtualenvwrapper
         
    - 修改~/.bashrc或其它环境变量相关文件,添加以下语句: sudo vi ~/.bashrc
    export WORKON_HOME=$HOME/.virtualenvs
    export PROJECT_HOME=$HOME /workspace
     
    运行 source /usr/local/bin/virtualenvwrapper .sh
             source ~/.bashrc
  8. 安装django所需环境
    pip install django pymysql uwsgi -i https://pypi.doubanio.com/simple/

    1
    2
    3
    4
    启动:uwsgi --ini uwsgi.ini
    停止:uwsgi --stop uwsgi.pid
    重启:uwsgi --reload uwsgi.pid
    查看: ps ajx| grep uwsgi
  9. 安装Nginx

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sudo apt-get install nginx
    ubantu安装完Nginx后,文件结构大致为:
      所有的配置文件都在 /etc/nginx 下;
      启动程序文件在 /usr/sbin/nginx 下;
      日志文件在 /var/log/nginx/ 下,分别是access.log和error.log;
      并且在 /etc/init .d下创建了启动脚本nginx。
     
    sudo /etc/init .d /nginx start    # 启动
    sudo /etc/init .d /nginx stop     # 停止
    sudo /etc/init .d /nginx restart  # 重启
    sudo /etc/init .d /nginx reload   # 重新加载配置文件
  10. 解压环境文件包到/home/python/.virtualenv
1
tar -zxvf env_name. tar .gz -C /home/python/ .virtualenvs
  1. 使用虚拟环境

进入:workon env_name
退出:deactivate 
创建:mkvirtualenv env_name

### 部署和运行Python应用程序 #### 准备工作 在阿里云服务器上部署和运行 Python 应用程序之前,需要确认服务器的操作系统以及 Python 的环境配置情况。如果使用的是 Ubuntu 系统,则可以通过命令行工具完成大部分准备工作。 #### 查看当前的 Python 版本 为了确保能够正常运行 Python 程序,需先检查服务器上的 Python 安装状态。默认情况下,部分阿里云实例可能预装了较低版本的 Python(如 Python 2.7),这可能导致不兼容的情况发生。因此建议执行以下命令以验证现有 Python 版本: ```bash python --version ``` 若发现版本过低或者不符合需求,可以根据实际业务需求安装更高版本的 Python[^2]。 #### 更新或安装新的 Python 版本 当检测到已有版本无法满足项目依赖时,可通过源码编译方式或其他包管理器方法更新至所需版本。例如对于 Ubuntu 用户来说,推荐利用 `apt-get` 或者直接从官网获取最新稳定版进行手动构建: ```bash sudo apt update && sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt install python3.8 ``` 上述脚本片段展示了如何借助 PPA (Personal Package Archive) 来快速切换至较新版本的 Python 解释器。 #### 创建虚拟环境并激活 创建独立的工作区有助于隔离不同项目的库文件冲突问题。这里介绍基于 venv 模块建立虚拟环境的过程: ```bash python3 -m venv myproject_env source myproject_env/bin/activate ``` 一旦进入该特定目录下的 shell session 后,默认会优先加载此环境中定义好的路径及相关设置[^1]。 #### 编写简单的测试代码 假设我们有一个非常基础的应用逻辑存储于名为 app.py 文件之中: ```python print("Hello, this is a simple test on Aliyun ECS!") ``` 将其上传至远程主机相应位置即可准备下一步骤——启动服务端口监听等功能模块前最后一步校验动作。 #### 使用 Gunicorn 运行 Flask/Django 类 Web Frameworks 如果是针对 DjangoFlask 构建的服务型接口类应用,则考虑采用生产级别 WSGI server 如 gunicorn 提供更稳健的支持效果更好一些 : ```bash pip install gunicorn gunicorn --workers=4 --bind=0.0.0.0:8000 wsgi:app ``` 此处假定您的入口函数命名为 'app' 并位于某个叫做 wsgi.py 的文档里头;另外 worker 数量应依据实际情况调整优化性能表现[^3]。 #### 设置反向代理与 SSL 加密传输保护机制 考虑到安全性因素,在公网暴露 API 接口地址的同时也应当配备必要的防护措施比如启用 HTTPS 协议加密通信链路等等。Nginx 是一种广泛使用的开源 HTTP 和反向代理 webserver 软件解决方案之一,非常适合用来处理这类任务。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值