在实际的工作中,不管你是开发、测试还是运维人员,都应该掌握的一项技能就是部署项目,简单说就是把项目放到服务器中,使其正常运行。今天猪哥就以咱们的微信机器人项目为例子,带大家来部署一下项目。本文将会详细介绍从服务器的选购、Python3.7的安装、使用Pycharm上传和启动项目这几个方面,让零基础的同学也能学会将项目部署到服务器中

视频教程链接:https://v.qq.com/x/page/w0868dweirq.html

一、环境介绍
二、购买云主机
三、安装python3.7
四、使用Pycharm部署项目
五、总结

一、环境介绍

先说下我开发环境: MacOS 10.14.1 + Pycharm 2019.1 + Python3.7

这里需要说明一下在实际的开发工作中一般我们的 开发环境、测试环境、生产环境 编程语言的版本需要保持一致,比如统一使用Python3.7版本,这样可以避免很多因为版本不一致而导致的问题。

二、购买云主机

目前国内云服务器可谓琳琅满目,国内外巨头都纷纷涉足云服务这块,首先全球云服务老大亚马逊(AWS)占到全球云服务市场的近47.1%,而阿里云(aliyun)凭借着资金雄厚、业务产品线广占到了国内云服务市场的47.6%,当之无愧的国内老大,所以我们这里就选择阿里云主机作为我们此次教程的云服务器。

1.注册账号

如果你之前没有阿里云账号的话可以在其官网(https://www.aliyun.com/)或手机App中注册。

需要注意的是 如果你是一名在校大学生,那你可以先进行学生认证,认证通过之后购买产品会有很大力度的优惠哦~

我们可以看到一个轻量级的服务器一年原价是1338元,而学生价才114元,优惠力度还是蛮大的!

2.购买云主机

阿里云产品众多如:云服务器ECS、云数据库RDS、负载均衡SLB和对象存储OSS、内容分发CDN等等,满足各种生产环境所需。

我们这种小型项目只需要购买云服务器ECS就可以,他就相当于一个电脑主机。而购买云主机就像我们买电脑一样,需要根据自己的实际用途来选择配置。因为我们这次的项目只是用于个人开发测试,所以建议选择最低配置(就这个项目而言足够)! 如果实际测试中发现配置不够的话可以再自由升级,这样避免资源浪费!


选择系统,猪哥选择的是CentOS 7.6 64位,系统可以随时更换!




三、安装python3.7

一般的linux系统都会默认安装python2.7,而现在python3已经大行其道,我们的项目也是使用python3的,所以我们来给云主机安装python3.7。

1.登录云主机

在我们购买完毕之后,我们可以查看一下云主机的一些信息,然后登录一下试试,第一次点击远程链接后会给一个6位数字的远程链接密码(这个密码只是在控制台登录需要,ssh连接是不需要的)。

填写之前给你的6位数字远程链接密码,忘记可在上面修改。

在输入了6位远程链接密码后,我们选择登录root用户,然后输入root用户的密码。

如果忘记root密码可在控制台重置密码,重置完记得重启云主机!

2.安装python3.7

我们先检查一下云主机目前的python版本,使用命令:python --version,查看:

提醒大家千万不要将python2删除,因为有些系统功能依赖python2,所以我们只要添加python3就可以。

首先安装依赖包,centos里面是-devel,如果在ubuntu下安装则要改成-dev,依赖包缺一不可

sudo yum -y groupinstall "Development tools"
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

然后下载python3.7的安装包(目前更新到了python3.7.3)

wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz

解压下载包

tar -xvJf  Python-3.7.3.tar.xz

编译安装

cd Python-3.7.3
./configure --prefix=/usr/local/bin/python3
sudo make
sudo make install

创建软连接

ln -s /usr/local/bin/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/python3/bin/pip3 /usr/bin/pip3

最后输入命令python3 --version检查一下是否安装成功

3.pip配置国内源

如果你使用的是阿里云主机,那么系统已经默认配置了阿里云源,所以此步骤省略了

四、使用Pycharm部署项目

虽然Python的优秀编辑器很多,但是Pycharm绝对是他们之中的佼佼者,在我们实际工作中更是离不开它,现在我们来介绍一下如何使用Python将项目部署到云服务器中,整个过程都只使用Pycharm并不会借助其他工具!

1.上传项目

如果你是使用猪哥的微信机器人项目请先更新项,项目地址:https://github.com/pig6/wxrobot

首先我们在云服务器上创建一个目录,用于放置项目文件,使用命令mkdir /data/wxrobot 创建项目,在实际工作中我们会将项目相关的东西放在/data
目录中。

注意只有Pycharm专业版才具有部署的功能,社区版(无需破解)是没有此功能。

添加一个配置,名字随意



所有都配置好了之后,我们来上传项目

2.下载项目必须库

pip3  install wxpy

3.启动项目

在命令行中执行下面的命令即可

cd /data/wxrobot
nohup python3 robot.py 2>&1 | tee &

如果你想同时保存日志信息可以在tee后面加日志文件名

五、总结

虽然这期教程中使用的是微信机器人的项目,但是部署服务器的流程都是一样的,你可以使用相同的方法部署其他项目。

这次的教程比较详细,零基础同学绝对没问题,当然在你们部署过程中肯定会遇到一些问题,猪哥在录制视频中也遇到很多小问题,所以如果你遇到问题可以在Python新手交流群中向我提问或寻求群里其他大佬的帮助,加群请加猪哥微信:it-pig66,好友申请格式:加群-xxx,不然我不知道你要干嘛!

超详细Pycharm部署项目视频教程的更多相关文章

  1. Spring Boot(IDEA,Gradle)超详细用户管理项目(一)——Hello World

    1.构建工具的配置(Gradle):自定义-所有设置:构建.执行.部署-构建工具-Gradle: 设置Gradle用户主目录:(该目录相当于仓库,gradle将下载所需依赖到此目录下),此目录下可新建 ...

  2. Spring Boot超详细用户管理项目(零)——开发前准备

    开始前的软件准备:(编写中:未完成) 使用软件介绍: Java版本:Java SE 11(LTS) 开发工具:IDEA(2020.3版本) Linux系统: 数据库: Java 版本:Java SE ...

  3. Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql)

    转载自:Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql) 我的系统是阿里云的,香港的系统,本人选择的是系统镜像:CentOS 7.3 64位. 具体步骤: 配置Jav ...

  4. 超详细动手搭建一个Vuepress站点及开启PWA与自动部署

    超详细动手搭建一个Vuepress站点及开启PWA与自动部署 五一之前就想写一篇关于Vuepress的文章,结果朋友结婚就不了了之了. 记得最后一定要看注意事项! Vuepress介绍 官网:http ...

  5. 超详细从零记录Hadoop2.7.3完全分布式集群部署过程

    超详细从零记录Ubuntu16.04.1 3台服务器上Hadoop2.7.3完全分布式集群部署过程.包含,Ubuntu服务器创建.远程工具连接配置.Ubuntu服务器配置.Hadoop文件配置.Had ...

  6. Pycharm自动部署项目

    Pycharm自动部署项目 大家好呀,又有几天不见各位了.断更了几天,给大家说声抱歉.清明节大家都挺忙的,有扫墓祭祖的,也有趁小长假去游玩的. 所以,在节后,更新也会照常进行,继续给大家分享本人的一些 ...

  7. Nginx实战部署常用功能演示(超详细版),绝对给力~~~

    前言 上次分享了一些开发过程中常用的功能,但如果到真实环境中,其实还需要一些额外的配置,比如说跨域.缓存.配置SSL证书.高可用等,老规矩,还是挑几个平时比较常用的进行演示分享.上篇详见Nginx超详 ...

  8. 【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  9. 一个基于TCP/IP的服务器与客户端通讯的小项目(超详细版)

    1.目的:实现客户端向服务器发送数据 原理: 2.建立两个控制台应用,一个为服务器,用于接收数据.一个为客户端,用于发送数据. 关键类与对应方法: 1)类IPEndPoint: 1.是抽象类EndPo ...

随机推荐

  1. Python Turtle绘画初学编程——六芒星,浪形圈

    老师上课说可以自学一下python中的绘图turtle,就自己初步学习了一下,做了两个简单的绘图——六芒星和浪形圈(其实我也不知道该叫它什么,就照样子编了个词

  2. oracle学习笔记(十二) 查询练习(二) 高级查询

    高级查询练习 /*--------------------------------------------- 分组查询 -------------------------------------*/ ...

  3. Python爬取上交所一年大盘数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 半个码农2018 PS:如有需要Python学习资料的小伙伴可以加点 ...

  4. Java之线程与进程

    一.线程与进程 线程:一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.多线程是多任务的一种特别形式,但多线程使用了更小的资源开销. 进程:一个进程包括 ...

  5. JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)

    练习1:求2个数中的最大值 function getMax(num1, num2) { return num1 > num2 ? num1 : num2; } console.log(getMa ...

  6. sockjs+stomp的websocket插件

    /** * 依赖文件sockjs.js.stomp.js * */ ;!(function (window) { 'use strict' let WS = function () { //保存所有的 ...

  7. scala 语法速查

    摘自官网 variables   var x = 5 Good x = 6 Variable. val x = 5 Bad x = 6 Constant. var x: Double = 5 Expl ...

  8. Ubuntu 根目录作用

    Ubuntu的根目录下存在着很多的文件夹,但你知道他们都存放着哪些文件呢?这些是深入了解Ubuntu系统必不缺少的知识,本文就关于此做一下介绍吧. /bin/    用以存储二进制可执行命令文件,/u ...

  9. Shell命令-网络操作之基础之scp、wget

    文件及内容处理 - scp.wget 1. scp:用于不同主机之间复制文件 scp命令的功能说明 scp 命令用于 Linux 之间复制文件和目录.scp 是 secure copy 的缩写, sc ...

  10. CodeForces - 1253C(思维+贪心)

    题意 https://vjudge.net/problem/CodeForces-1253C n个糖果,一天最多吃m个糖果,每个糖果有个值a[i],第d天会变成d*a[i],问吃k(k=1~n)个糖果 ...