在实际的工作中,不管你是开发、测试还是运维人员,都应该掌握的一项技能就是部署项目,简单说就是把项目放到服务器中,使其正常运行。今天猪哥就以咱们的微信机器人项目为例子,带大家来部署一下项目。本文将会详细介绍从服务器的选购、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. SpringBoot(14)—注解装配Bean

    SpringBoot(14)-注解装配Bean SpringBoot装配Bean方式主要有两种 通过Java配置文件@Bean的方式定义Bean. 通过注解扫描的方式@Component/@Compo ...

  2. int[]里数的个数怎么由输入决定?-----动态数组。

    java中如何创建动态数组?(摘自百度知道) Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util ...

  3. mssql sqlserver 使用SSMS运行sql脚本的六种方法分享

    摘要: 下文讲述五种运行sql脚本的方法,如下所示: 实验环境:sql server 2008 R2 在一次会议讨论中,大家咨询我使用SSMS运行sql脚本的方法,下文我将依次举例讲述sql脚本的运行 ...

  4. Pycharm/Webstorm 上传和下拉 GitHub 项目

    操作流程:Pycharm和Webstorm的操作页面类似,本文以Webstorm为例 1.打开Webstorm软件选择 Settings 2.在Version Control 中填写 Git 的可执行 ...

  5. HTTP GET POST PUT DELETE 四种请求

    1.GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会影响资源的内容,即该请求不会产生副作用.无论进行多少次操 ...

  6. Metrics、Tracing、Logging的融合

    终极目标 OpenTelemetry的终态就是实现Metrics.Tracing.Logging的融合,作为CNCF可观察性的终极解决方案. Tracing:提供了一个请求从接收到处理完毕整个生命周期 ...

  7. -shared -fPIC

    gcc -shared -fPIC -o 1.so 1.c   这里有一个-fPIC参数 PIC就是position independent code PIC使.so文件的代码段变为真正意义上的共享

  8. SpringCloud学习笔记(七、SpringCloud Netflix Zuul)

    目录: springcloud整合eureka.config.zuul zuul源码分析 springcloud整合eureka.config.zuul: 1.架构图 2.GitHub:https:/ ...

  9. 第十六周博客作业 <西北师范大学| 周安伟>

    第十六周作业 助教博客链接https://home.cnblogs.com/u/zaw-315/ 作业要求链接https://www.cnblogs.com/nwnu-daizh/p/10980707 ...

  10. zabbix使用钉钉告警

    1.钉钉创建群 2.[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf # 配置文件中查找”Alert”查看告警脚本存放路径 [root@lo ...