前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >使用腾讯云配置小程序Python开发环境

使用腾讯云配置小程序Python开发环境

作者头像
goodspeed
发布于 2020-12-22 06:17:49
发布于 2020-12-22 06:17:49
7.3K00
代码可运行
举报
文章被收录于专栏:厉害了程序员厉害了程序员
运行总次数:0
代码可运行

最近做小程序服务器的配置,这一篇是服务器配置的记录,方便以后安装配置。

购买服务器

之所以选腾讯云的原因很简单,那就是便宜,选用成都区,最低配置每月只需29¥。在 腾讯云 官网注册登录就可以直接购买服务器了。服务器系统我选择的是 ubuntu

服务器配置

启动服务后使用新用户(此步骤不是必须)。

新建用户

首先确认使用的是 root 用户登录如果不是使用以下命令切换

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo su

使用 adduser 命令创建用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adduser username # username替换为你自己的用户名

接下来的步骤会让你输入密码和个人信息,自己设置就好。

使用usermod 命令将新建的用户添加到 sudo 组。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
usermod -aG sudo username

关闭ssh密码登录使用密钥登录

安装openssh

因为是新系统,先执行一下 apt-get update

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update
sudo apt-get install openssh-server
启动ssh服务

可以通过sudo su命令来临时切换到root权限(不是所有的账号都可以切换到root权限,只有在/etc/sudoers文件中符合规则的用户能切换root身份)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo su
/etc/init.d/ssh start
使用密钥登录
  • 服务器端生成密钥对:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home/gs # 打开新建的用户目录
mkdir .ssh
cd .ssh
ssh-keygen -b 2048 -t rsa

ssh-keygen的基本用法:-b后面是指定加密后的字符串长度-t后面是指定加密算法,常用的加密算法有rsa,dsa等

默认生成的文件如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
id_rsa.pub  # 公钥文件
id_rsa      # 私钥文件
  • 新建 authorized_keys 文件

将本地机器的 id_rsa.pub 文件内容复制到 authorized_keys 文件

  • 测试使用公钥是否可以登录
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh name@host  # name 是机器的用户名 host 是机器的地址
关闭ssh密码登录

确认可以通过私钥进行登录后,关闭ssh密码登录。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo su
vim /etc/ssh/sshd_config

将 PasswordAuthentication yes修改成PasswordAuthentication no

重启系统

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo su
reboot

搭建开发环境

安装 zsh

在终端中输入下面命令进行安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install zsh

输入下面命令进行替换zsh替换为你的默认shell:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chsh -s /bin/zsh

重启终端使用 zsh

安装oh-my-zsh

  • 通过curl安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
  • 通过wget安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh

安装 pip

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install python-pip  # 安装 pip
pip install --upgrade pip
sudo apt-get install python3-pip  # 安装 pip3
pip3 install --upgrade pip

安装 virtualenv

因为我使用 python3 作为开发环境,所以这里使用 pip3

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

在 .zshrc 添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

然后执行命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source .zshrc

现在可以输入 workon 测试 virtualenvwrapper 是否已经安装成功。

创建虚拟环境
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkvirtualenv py3 -p python3  # -p 参数指定 python 版本

测试虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
workon py3

安装 ipython

首先进入 py3 虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
workon py3

使用 pip 安装 ipython

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install ipython # 安装 ipython 

配置 vim

python vim 配置使用的是 py-vim

需要先安装 ctags和 cmake

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install ctags
sudo apt-get install cmake

然后将 py-vim clone 到服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/gusibi/py-vim
cd py-vim
sh setup.sh 

使用 Caddy 配置 https

Caddy是一种新的Web服务器,由 go 编写,默认使用 https 协议。caddy 配置简单,容易上手。

安装 caddy 二进制文件

Caddy项目提供了一个安装脚本,可以检索和安装Caddy服务器的二进制文件。 可以执行以下命令直接安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -s https://getcaddy.com | bash

在安装过程中,脚本将使用sudo获取管理权限,以便将Caddy文件放在系统范围的目录中,因此可能会提示您输入密码。

配置 caddy 必要的目录

Caddy的自动TLS支持和unit文件需要特定的目录和文件权限。 我们将在这一步中创建它们。

首先,创建一个目录,该目录将容纳主要的配置文件Caddyfile 。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建一个目录,该目录将容纳主要的配置文件Caddyfile
sudo mkdir /etc/caddy
# 将此目录的所有者更改为root用户及其组到www-data ,以便Caddy可以读取它
sudo chown -R root:www-data /etc/caddy
# 创建一个空的Caddyfile
sudo touch /etc/caddy/Caddyfile
# 在/etc/ssl创建另一个目录用来存储自动获得的SSL私钥和证书
sudo mkdir /etc/ssl/caddy
# 将此目录的所有者更改为root用户及其组到www-data
sudo chown -R www-data:root /etc/ssl/caddy
# 确保没有人可以通过删除其他人的所有访问权限来读取这些文件。
sudo chmod 0770 /etc/ssl/caddy
# 创建的最终目录是网站的发布目录
sudo mkdir /var/www
# 该目录应由www-data完全拥有。
sudo chown www-data:www-data /var/www
# 创建日志目录
sudo mkdir /var/log/caddy
# 将此目录的所有者更改为root用户及其组到www-data
sudo chown -R www-data:root /var/log/caddy

将 caddy 配置为系统服务

从官方的Caddy存储库下载文件。 curl命令的附加-o参数会将该文件保存在/etc/systemd/system/目录中,并使其对systemd可见。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service

reload 系统服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl daemon-reload

将caddy 设置为开机启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable caddy.service

检查 caddy 服务是否已正式加载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl status caddy.service

允许HTTP和HTTPS连接

Caddy使用HTTP和HTTPS协议提供网站,因此我们需要允许访问相应的端口,以便使网路可以从网路获取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow http
sudo ufw allow https

现在修改caddy 配置 /etc/caddy/Caddyfile

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://your.domain {  # 启用 https
    gzip
    log /var/log/caddy/access.log  # 指定日志目录
    proxy / http://127.0.0.1:8888 {
        header_upstream Host {host}
        header_upstream X-Real-IP {remote}
        header_upstream X-Forwarded-For {remote}
        header_upstream X-Forwarded-Proto {scheme}
    }
}

保存文件,启动 caddy

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start caddy    # 启动 caddy
sudo systemctl restart caddy  # 重启 caddy
sudo systemctl stop caddy     # 关闭 caddy

现在启动服务,访问 https://your.domain 应该就能看到数据。日志文件/var/log/caddy/ 目录下。

总结

小程序开发需要 https,这里我们使用了 caddy 作为 web 服务器。服务器配置好后可以直接存储为镜像,以后可以直接从镜像开启服务,就不再需要配置环境。

参考链接

  • How To Create a Sudo User on Ubuntu
  • zsh安装和配置
  • virtualenvwrapper
  • py-vim
  • Install MongoDB Community Edition on Ubuntu
  • 使用 Caddy 替代 Nginx,全站升级 https,配置更加简单
  • how-to-host-a-website-with-caddy-on-ubuntu-16-04

最后,感谢女朋友支持。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 四月 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python数据挖掘 环境搭建
deepin 有很多小伙伴想学习python,但windows写python基本是坑,deepin属于linux分支,界面美观,内置大量桌面软件,对新手十分友好,这里尝试在深度系统(deepin)内安装python开发工具 jupyter,并完成一个绘制折线图的入门案例 将默认的bash更换为zsh(个人喜好,可跳过) 首先,安装zsh: sudo apt-get install zsh 先安装git sudo apt-get install git 再安装oh-my-zsh sudo
zhaoolee
2018/04/19
9610
Python数据挖掘 环境搭建
Debian 9 安装配置 Caddy Server
Caddy 是一个用 Golang 开发的高效 Web Server,相比 Nginx,它的配置和使用要简单很多,能自动开启 HTTPS、并且支持 HTTP/2 和 QUIC。
Debian中国
2018/12/20
3.7K0
Go每日一库之131:caddy(轻量web服务器)
一直以来,我都是使用 Nginx 作为 Web 服务器,但是配置可以说是非常麻烦了。每次我要新开一个域名,都要先使用 acme.sh 签发 SSL 证书,然后再写配置,大概要花上 5 分钟的时间。曾经想过写个脚本自动完成这些工作,但是苦于对 Linux 的了解不多,也就作罢了。 最近看到了 Caddy,一个用 Go 写的 Web 服务器,它的配置简洁,同时能自动开启 HTTPS、支持 HTTP/2 && QUIC,完全符合我的需求啊,研究一番,就在我的服务器部署了,本文作一个简单记录。 我的操作系统是 Debian Jessie ,理论上只要是带有 Systemd 的系统都适用本文。
luckpunk
2023/09/30
5730
Python web项目Django部署
Mac直接在bash中输入ssh root@你的主机ip Windows请下载ssh远程连接工具例如Putty 腾讯云默认不能以root身份登录,请使用以下方式登录
py3study
2020/01/16
2.9K0
Python web项目Django部署
如何在Ubuntu 16.04上使用uWSGI和Nginx为Django应用程序提供服务
Django是一个功能强大的Web框架,可以帮助您实现Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何与生产相关的细节,都需要一个更安全,更强大的Web服务器。
尘埃
2018/10/19
4.3K0
如何在Debian 8上使用uWSGI和Nginx为Django应用程序提供服务
Django是一个功能强大的Web框架,可以帮助您实现Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何与生产相关的细节,都需要一个更安全,更强大的Web服务器。
姚啊姚
2018/08/08
3.3K0
linux 下创建虚拟环境 python
virtualenv是一个可以在同一计算机中隔离多个python版本的工具。有时,两个不同的项目可能需要不同版本的python,如 python2.7 / python3.6 ,但是如果都装到一起,经常会导致问题。virtualenv能够用于创建独立的Python虚拟环境,多个Python相互独立,互不影响。 virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。
人生不如戏
2018/09/27
4K0
Centos7下搭建Jupyter Notebook服务
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
量子态的沐子呓
2020/06/10
1.2K1
一款二次元的Web多人在线网络聊天系统:Fiora安装及使用
说明:Fiora是一款偏二次元的Web多人在线聊天应用,使用Node.js、Mongodb、Socket.io和React编写,使用起来还行,挺简洁的,这里水个搭建教程,有兴趣的可以玩玩。
用户8851537
2021/07/31
2.4K0
Python部署手记:django, gunicorn, virtualenv, circus, nginx
手记,以免下次配置再入坑。有些细节未做详细描述,如果有问题,可以评论或私信我。 初次尝试搭python服务器,强撸python3,花样作死。过程中出现各种错误,不停google,搜到的时间大部分在2012年-2014年。让我不禁怀疑,真的没人用py搭服务器嘛?怎么比ruby还少。。。 相关技术点:django, gunicorn, virtualenv, circus, nginx 陆续花了一个月时间,先是折腾flask,完了折腾django,再到部署。感觉身体被掏空。说好的人生苦短,要用python呢。相
CDA数据分析师
2018/02/05
1.8K0
Python部署手记:django, gunicorn, virtualenv, circus, nginx
使用Firefox Send搭建一个临时文件分享系统
说明:Firefox Send好像一两年前博主就分享过,是Firefox推出的一個全新的临时文件分享系统,具体查看→传送门,不过貌似代码开源了,也有几个小伙伴搭建的时候遇到了点问题,要博主发个教程,这里就水一下手动搭建和Docker搭建。
子润先生
2021/05/29
1.5K0
TopDocs:一款美观实用的在线文档编辑系统,支持Markdown语法
说明:最近博主对文档程序小有需求,找了很久发现都是单页,而且还不支持移动端,不是很理想,所以萌JJ大雕就专门花了半天时间,给博主写了一个,该文档程序基于graphql、nuxtjs、mongodb、keystonejs的实时在线文档编辑系统,可用作各种在线文档编辑和展示,支持markdown语法,对移动端特别友好,这里就开源分享出来,给对文档有需求的人。
子润先生
2021/05/28
1K0
(20211206更新)ubuntu18.04 安装Python3.8.3、jupyter notebook远程连接配置、虚拟环境搭建。及torch、tensorflow成功下载[通俗易懂]
但是吧,后续的pip install 会出现异常, 报错内容subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ 然后会看到有的会说将什么文件复制到什么地方。然后将系统的python文件夹中的所有py36 改为py38 。确实在某些操作上是行得通,但是在后续的折腾过程中还是出现了各种问题。所以现在抛弃这种了。 当然,可能也有看到有些博主会让你们进行优先级的选择,如下图所示这样的对吧
全栈程序员站长
2022/09/10
1.7K0
(20211206更新)ubuntu18.04 安装Python3.8.3、jupyter notebook远程连接配置、虚拟环境搭建。及torch、tensorflow成功下载[通俗易懂]
Django+nginx+uwsgi部署教程(centos7+ubuntu16.4)
项目部署教程 在线教育平台项目演示地址 1.1.原理介绍 django  一个基于python的开源web框架 uwsgi  一是一个web服务器,也可以当做中间件 nginx 常用高性能代理服务器 wsgi.py django项目携带的一个wsgi接口文件 nginx Nginx是一个Http和反向代理服务器 什么是反向代理服务器呢? 正向的就是由浏览器主动的想代理服务器发出请求,经代理服务器做出处理后再转给目标服务器 反向的就是不管浏览器同不同意,请求都会经过代理服务器处理再发给目标服务器 这其中
zhang_derek
2018/04/24
1.4K0
Django+nginx+uwsgi部署教程(centos7+ubuntu16.4)
Ubuntu配置开发环境
如果不习惯Vim,强烈建议VSCodehttps://code.visualstudio.com/
py3study
2020/01/03
1.7K0
私密的搜索引擎搭建
说明:之前介绍过一个多平台聚合搜索服务Searx,都是以Google等国外搜索为主→传送门,然后这里说的秘迹搜索就是基于Searx二次开发,主要是聚合国内的百度、360、搜狗等搜索服务,专为国人开发,而且秘迹搜索可以最大程度的保护个人搜索隐私,Ta不会根据搜索关键词追踪用户,也不会通过历史搜索内容做广告推荐,目前该搜索源码开源,看见很多人想搭建个,发现教程挺简单的,这里就水个搭建教程。
用户1112170
2019/06/01
1.7K0
私密的搜索引擎搭建
一款开源、轻巧且功能齐全的跨平台网盘程序:蓝眼云盘
说明:最近发现了一个不错的网盘程序蓝眼云盘,该程序后端使用golang开发,前端使用vue套件开发,而且开源免费,基本上目前除了离线下载外,其它功能都有,同时也支持多用户,超级管理员可以对用户进行权限,文件管理等,外观也蛮好看,安装包仅10M左右,可以同时在Windows、Linux、Mac OS操作系统中运行。作者更新也很频繁,功能也会越来越多,这里就大概说下安装方法。
子润先生
2021/06/01
2.9K0
搭建高性能的 Django 服务器栈
本文针对裸机 Linux 搭建 Django 的服务器栈,可直接应用在Linode等VPS上。 Linux:Ubuntu 12.04 + ,其他版本类似 说明: # 以#开头表示注释, $ 这里是需要执行的命令 <尖括号包含需要你自己定义的内容> ○、连接VPS或者服务器 不多说,putty就是个不错的工具,如果你本地有mac或者linux就更好了 一、升级软件包,打补丁 # 更新本地包的索引,这个必须做 $ sudo apt-get update # 升级所有软件包 $ sudo apt-g
小小科
2018/05/02
1.7K0
python 虚拟环境 virtualenv
#py3安装,这样用virtualenv创建的virtualenv默认python版本是py3
小团子
2019/07/18
4130
一款二次元的Web多人在线网络聊天系统:Fiora安装及使用
说明:Fiora是一款偏二次元的Web多人在线聊天应用,使用Node.js、Mongodb、Socket.io和React编写,使用起来还行,挺简洁的,这里水个搭建教程,有兴趣的可以玩玩。
星泽V社
2022/05/30
1.1K0
一款二次元的Web多人在线网络聊天系统:Fiora安装及使用
推荐阅读
相关推荐
Python数据挖掘 环境搭建
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验