首页 > 编程语言 >python初试终章

python初试终章

时间:2024-01-03 17:34:24浏览次数:32  
标签:初试 python sudo Django ENV vamei 服务器 终章 安装

之前在单机上实现了一个Django服务器,现在我们可以把这个服务器推上一个云平台。这里我选择使用阿里云。


阿里云准备

在阿里云官网(aliyun.com)页面注册阿里云账号。登录后选择云服务器ECS,并选择“创建实例”:

选择操作系统Ubuntu 14.04 64位,设置密码。实例开通后,可以在实例记录中查到它的IP地址,我以199.199.199.199为例  。用SSH登录:

ssh [email protected]

直接使用root账户,有可能给系统带来风险。所以创建一个新的用户vamei,并根据提示设置该用户密码:

sudo adduser vamei

为了管理方便,我们赋予该账户以管理员运行命令(sudo)的权力。打开文件/etc/sudoers,找到下面一行:

root ALL=(ALL:ALL)ALL

在这一行下方增加新的一行:

vamei ALL=(ALL:ALL)ALL

编辑/etc/sudoers时,有可能需要先给root增加写入权限。

此外,新建用户没有定义默认的SHELL。可以设定为最常用的BASH。打开/etc/passwd,找到对应用户vamei的一行,改为:

vamei:x:1000:1000::/home/vamei:/bin/bash

即在末尾增加了/bin/bash,说明所要用的SHELL。


安装Django

登出root,登入vamei的账户,为安装Django做准备。Ubuntu系统中已经自带有Python 2.7。我先安装virtualenv,为网站  

设立运行时用的虚拟环境。

# 安装virtualenv
sudo apt-get install python-virtualenv

# 创建一个新的虚拟环境,命名为ENV
virtualenv ENV

# 启动ENV
source ENV/bin/activate

完成后,命令行提示符前会出现一个(ENV)的前缀,说明已经处于名为ENV的虚拟环境中。

如果需要退出该虚拟环境,用以下命令:

deactivate

在虚拟环境下安装Django:

pip install django

安装数据库和HTTP服务器

Django可以直接使用SQLite作为数据库,也可以配置使用其他类型的数据库。这里以MySQL为例,说明相关环境的安装:

# 安装MySQL服务器
sudo apt-get install mysql-server 

# 安装客户工具
sudo apt-get install libmysqlclient-dev

Django虽然自带一个简单的HTTP服务器,但只供开发时使用。为了把Django用于生产环境,还需要搭配专业的HTTP服务器,  

如Apache, Nginx等。安装Apache服务器:

sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi

数据库和HTTP服务器的具体配置可参考:


运行Django服务器

利用sftp或scp把Django服务器的项目代码放上云平台。由于我们使用了virtualenv来安装Django,所以Django并不在系统  

的默认路径上。为了让系统正常运行,还需要在wsgi.py中加入:

import sys

# 加入virtualenv的路径
sys.path.append('/home/vamei/ENV/lib/python2.7/site-packages')

再按照要求配置好对应的数据库和Apache服务器,就可以通过IP地址来访问服务器了。更进一步,还可以注册域名并备案,  

以便通过域名访问。这些服务都可以在阿里云上找到,使用过程也比较简单。

python初试终章_服务器

标签:初试,python,sudo,Django,ENV,vamei,服务器,终章,安装
From: https://blog.51cto.com/u_15974582/9087188

相关文章

  • pdm符合最新PEP标准的现代python 包以及依赖管理工具
    pdm符合最新PEP标准的现代python包以及依赖管理工具支持的特性简单快速的维护依赖解析,主要为了构建大的二进制分发PEP517构建后端PEP621项目元数据灵活强大的插件系统多功能用户脚本类似pnpm的中心化安装优化安装命令使用过的mac系统的 brewinstallpdm使用其他命令pipx......
  • mrml python 以及webassembly 实现简单说明
    简单说明下mrmlpython以及webassembly的实现pythonpython是基于了pyo3,利用pyo3提供的能力,暴露了python模块参考处理//暴露的mrml模块#[pymodule]#[pyo3(name="mrml")]fnregister(_py:Python<'_>,m:&PyModule)->PyResult<()>{//mrml方法的注册m.ad......
  • JetBrains PyCharm 2023.2 (macOS, Linux, Windows) 发布 - 面向专业开发者的 Python
    JetBrainsPyCharm2023.2(macOS,Linux,Windows)发布-面向专业开发者的PythonIDE作者主页:sysin.orgJetBrainsPyCharm-面向专业开发者的PythonIDE为什么选择PyCharm在一个地方获得所有Python工具更加高效由PyCharm负责处理日常繁琐的工作细节,为您节省宝贵的时间。......
  • 66、python爬虫数据和预处理标签数据和yolov8训练
    基本思想:需要使用爬虫代码,预先爬虫一些数据和标注,这里只做简单记录,不做具体意图探讨一、爬虫数据,然后进行部分筛选#-*-coding:utf-8-*-importrequestsimportosimportredefget_images_from_baidu(keyword,page_num,save_dir):#UA伪装:当前爬取信息伪装成浏览......
  • 10个最难的 Python 问题!
    01、round()函数你认为以下代码的结果是什么:print(round(9/2))print(round(7/2))print(round(3/2))答案:4、4、2为什么print(round(7/2))输出4而不是3,或者为什么print(round(9/2))输出4而不是5?这是因为,在python中,round函数实现了银行式的四舍五入,其中所有的半值都被......
  • Python SMTP发送邮件
    SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。importsmtplibsmtpObj=smtplib.SMTP([host[,port[,......
  • Python中pytest命令行实现环境切换
    前言在自动化测试过程中经常需要在不同的环境下进行测试验证,所以写自动化测试代码时需要考虑不同环境切换的情况。pytest钩子函数pytest_addoption可以很好帮我们解决这个痛点。pytest_addoption(parser, pluginmanager)注册argparse样式选项和ini样式配置值,在测试运行开始时调用......
  • Python pytest.main()运行测试用例
    前言前面一直使用命令行运行pytest用例,本篇来学下使用pytest.main()来运行测试用例pytest.main()args传一个list对象,list里面是多个命令行的参数plugins传一个list对象,list里面是初始化的时候需注册的插件不带参数运行importpytest#等同于命令行执行pytest#默认运行的是......
  • Python模块之hashlib模块
    hashlib模块【一】概要hashlib模块是Python中提供对哈希算法的支持的模块。它提供了常见的哈希算法,如MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,以及一些其他哈希算法。【二】常见用法计算哈希值:hashlib.md5():创建一个MD5哈希对象。hashlib.sha1():创......
  • 【小沐学写作】PPT、PDF文件添加水印(Python)
    1、简介水印通常用于保护文档或指定其所有权。另一方面,它们用于显示文档的状态,例如手稿、草稿等。在本文中,我们将演示如何在PowerPoint演示文稿中插入水印。您将学习如何在Python中为PowerPointPPT幻灯片添加文本或图像水印。2、ppt添加水印2.1PowerPoint幻灯片母版htt......