Google App Engine SDK for Python的本地化安装

一、前言

官方文档:https://cloud.google.com/appengine/docs/standard/python/download

由于有些项目依赖于谷歌云服务,项目需要部署在谷歌云上或者把谷歌云环境部署到本地服务器上。

二、本地化安装

1.安装python 2.7

sudo apt install python-2.7 (谷歌SDK暂时不支持python 3)

2.初始化谷歌云SDK

参考原文:https://cloud.google.com/sdk/docs/#linux

2.1.查看python2的版本

python2 --version

2.2.下载谷歌云SDK

cd 
wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-188.0.1-linux-x86_64.tar.gz (需要翻墙,或者本地下载后自行上传)

2.3.解压谷歌云SDK

tar -xzvf google-cloud-sdk-188.0.1-linux-x86_64.tar.gz

2.4.执行谷歌云SDK安装脚本

./google-cloud-sdk/install.sh

2.5.初始化谷歌云SDK

./google-cloud-sdk/bin/gcloud init
3.安装app引擎的python模块
gcloud components install app-engine-python
4.安装git客户端
sudo apt install git
5.安装app引擎python模块扩展
gcloud components install app-engine-python-extras

离线安装GO语言依赖库

一、前言

参考原文:http://blog.csdn.net/a55569769/article/details/46377267

项目源码地址:https://github.com/golang/net

目的

解决GO语言项目依赖模块离线安装的问题。

二、安装

1.1.在工作空间创建目标项目的文件夹结构

cd ~/goWorkspace (此示例的go项目工作空间为当前用户的goWorkspace)
mkdir -p src/golang.org/x/net/
cd src/golang.org/x/net/

1.2.获取依赖模块源代码

git clone https://github.com/golang/net.git

linux操作系统搭建GO语言运行环境

一、前言

参考地址:https://golang.org/doc/install

ubuntu server 16自带go语言安装包,如果已经安装但版本比较低,需要先卸载,然后重新安装。卸载方式:

sudo apt autoremove golang

或者

sudo apt autoremove golang-{version}(一般为1.6或者1.9)

二、软件安装与配置

linux版go下载地址:https://golang.org/dl/

根据自己的需要,或者要下载的文件地址,此文使用:https://dl.google.com/go/go1.9.4.linux-amd64.tar.gz。

1.创建go的文件夹

cd /usr/local
mkdir /usr/local/go

2.下载go的文件夹并解压

cd
wget https://dl.google.com/go/go1.9.4.linux-amd64.tar.gz

(如果服务器无法翻墙,可以先在个人电脑,再上传;或者参考【ssh+proxychains实现linux服务器的代理翻墙】配置服务器翻墙)

tar -C /usr/local -xzf go1.9.4.linux-amd64.tar.gz

基于webrtc的多对多聊天(SkyRTC)

一、基本介绍

  1. 开源项目地址
    作者项目集合地址:https://github.com/LingyuCoder
    服务端项目地址:https://github.com/LingyuCoder/SkyRTC
    客户端项目地址:https://github.com/LingyuCoder/SkyRTC-client
    demo项目(本文中应用的)地址:https://github.com/LingyuCoder/SkyRTC-demo
  2. 项目技术特点
    这是一个使用SkyRTC和SkyRTC-client搭建浏览器中音频、视频、文字聊天室的Demo
  3. 前置条件
    参考【Nodejs开发环境与生产环境安装】安装nodejs;
    参考【基于coturn的webrtc iceserver搭建】自建iceserver服务;
    参考【通过apache2代理+Let’s Encrypt实现网站https与wss】配置网站的安全访问(浏览器有安全策略,除了127.0.0.1,其他需要配置SSL,页面才能调用本地摄像头与耳麦设备)。

二、开发配置

  1. 安装Node.js及npm环境(node版本推荐6.x以上的版本,如果使用4.x版本,此项目启动是会报错【EMPTY_BUFFER: Buffer.alloc(0)】,可以使用“nvm”安装需要的node版本)
  2. 下载源码(https://github.com/LingyuCoder/SkyRTC-demo)到本地,并解压缩
  3. 移动到解压后的目录下
  4. 使用命令npm install安装所需要的库
  5. 运行命令node server.js
  6. 访问http://localhost:3000#roomName查看效果,其中roomName为进入的房间名,不同房间的用户无法互相通信
  7. 进行浏览器兼容的开发工作

##功能说明 支持划分房间的在线音频、视频、文字聊天,提供房间内文件共享功能

三、部署配置

  1. 安装Node.js及npm环境
  2. 上传修改后的项目代码到目标服务器(不要带node_modules)
  3. 移动到解压后的目录下
  4. 使用命令npm install安装所需要的库
  5. 运行命令node server.js,建议配合forever
  6. 通过apache配置https与wss代理
  7. 访问https://公网ip#roomName查看效果,其中roomName为进入的房间名,不同房间的用户无法互相通信

四、优缺点分析

1.优点

部署运行简单

2.缺点

项目长久不维护,浏览器兼容性差。需要进行客户端js库的调整

通过apache2代理+Let’s Encrypt实现网站https与wss

一、现实需求

为了能够提供安全的互联网服务,各大浏览器厂商(chrome、fixfox等)都在倡导SSL的应用,Let`s Encrypt应运而生。它是国内外主流浏览器都认可的免费SSL证书,并提供了配套工具,大大方便了证书的申请与部署(工具地址:https://certbot.eff.org/#ubuntutrusty-apache)。

而且,随着html5技术的普及,通过页面调用本地硬件设备(摄像头、耳麦等)的应用越来越来。但浏览器厂商的安全机制,均需要配置SSL的网站才可以调用本地设备。

本文的主要内容分为两部分,一部分是传统http网站升级为https网站;另一部分是复杂部署环境下,需要通过apache的代理与SSL相结合的部署解决方案

以下案例均取材与ubuntu 14/16操作系统下,apache2作为web服务器的配置。

二、配置普通的http网站

1.域名的前期准备

工作开始前,请先注册一个域名,并备案(使用香港或国外服务器的,不用域名备案)。然后把域名解析到目标服务器的公网IP(关于域名解析,网上资料已经很多了,不再多说)。

此文使用的示例域名:lidetao.com

2.安装apache并启用相关模块

通过SSH登录目标服务器,建议先更新下系统库:

sudo apt update
sudo apt dist-upgrade
sudo apt autoremove (卸载过时或者没有被依赖的软件,避免boot满了)

安装apache

sudo apt install apache2

安装需要的模块

cd /etc/apache2/mods-available/

a2enmod rewrite
a2enmod ssl
a2enmode proxy*  (这里把代理相关的模块都安装了,建议根据实际需要有选择的安装)

3.配置域名的绑定

3.1创建文件

cd /var/www

创建域名绑定的文件夹
mkdir lidetao.com

创建一个默认的首页
cd lidetao.com
vim index.html (写入hello world,然后保存)

3.2设置配置

cd /etc/apache2/sites-enabled

vim lidetao.com.conf 内容如下:

<VirtualHost *:80>
    ServerAdmin webmaster@lidetao.com
    DocumentRoot "/var/www/lidetao.com"
    ServerName lidetao.com
    ServerAlias www.lidetao.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3.3启动服务

service apache2 restart

然后访问http://lidetao.com,页面上展示“hello world” 继续阅读通过apache2代理+Let’s Encrypt实现网站https与wss