liuhuiIris


  • 首页

  • 归档

海外服务器搭建小梯子

发表于 2017-11-29

文章来源: 老雷

1、安装客户端

sibyl云加速下载各种版本的shadowsocks

2、Centos7搭建shadowsocks服务器

CentOS 7 开始默认使用Systemd作为开启启动脚本的管理工具,Shadowsocks则是当前比较受欢迎的科学上网工具,本文将介绍如何在 CentOS 下安装和配置 Shadowsocks 服务。

2.1 安装pip

pip是 python 的包管理工具。在本文中将使用 python 版本的 shadowsocks,此版本的 shadowsocks 已发布到 pip 上,因此我们需要通过 pip 命令来安装。

1
2
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py

2.2 安装配置 shadowsocks

1
2
pip install --upgrade pip
pip install shadowsocks

2.3 配置shadowsocks.json文件

1
2
3
4
5
6
7
8
9
10
11
12
vim /etc/shadowsocks.json
{
"server" : "0.0.0.0",
"server_port" : 443,
"local_address" : "127.0.0.1",
"local_port" : 1080,
"password" : "your password",
"timeout" : 300,
"method" : "rc4-md5",
"fast_open" : false,
"workers" : 5
}

说明:

method为加密方法,可选aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, cast5-cfb, des-cfb, rc4-md5, chacha20, salsa20, rc4, table
server_port为服务监听端口
password为密码,可使用密码生成工具生成一个随机密码
以上三项信息在配置 shadowsocks 客户端时需要配置一致,具体说明可查看 shadowsocks 的帮助文档。

2.4 启动

1
2
3
4
5
6
#启动
ssserver -c /etc/shadowsocks.json -d start
#停止
ssserver -c /etc/shadowsocks.json -d stop
#重启
ssserver -c /etc/shadowsocks.json -d restart

3.客户端配置启动

shadowsocks

4.连接失败问题

4.1 服务器未开放443端口,一般是防火墙原因

亦可通过管理端页面配置端口权限

1
2
3
4
5
6
7
8
9
10
11
# 启动防火墙
$ systemctl start firewalld.service

# 若报错 Failed to start firewalld.service: Unit firewalld.service is masked.先执行以下命令
$ systemctl unmask firewalld.service

# 开放443端口
$ firewall-cmd --zone=public --add-port=443/tcp --permanent

# 重启防火墙
$ firewall-cmd --reload

参数说明:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #代表永久生效,没有此参数重启后失效

Mac环境中Jenkins的停止和启动命令

发表于 2017-11-21

文章来源: 李小西033

1. 启动

1
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

2. 停止

1
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

Jenkins-quickstart

发表于 2017-11-21

文章来源: muyinchen

手把手教你搭建Jenkins+Github持续集成环境

1.安装jenkins

环境:CentOS 7.0

安装方式:

1
2
3
4
5
$ yum install yum-fastestmirror -y  #安装自动选择最快源的插件
#添加Jenkins源:
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum install jenkins #安装jenkins

启动方式:

$ sudo service jenkins start

访问方式:

浏览器输入http://your server ip:8080/

更改配置(如端口)方式:

1
2
$ vim /etc/sysconfig/jenkins
$ sudo service jenkins restart

2.jenkins基础配置

Unlock

经过上面的配置,你可以访问你的Jenkins了,在浏览器中输入:http://your server ip:8080/,效果如下:

img

按照提示我们执行cat /var/lib/jenkins/secrets/initialAdminPassword得到Administrator password,输入后点击Continue,如下:

img

选择install suggested plugins,等待安装完毕,如果有安装失败的可以跳过,之后可以手动根据需求安装。

img

设置初始账户和密码

img

设置完成后进入界面:

img

3.github配置

sercret text

注:此处需要一个对项目有写权限的账户

进入github –> setting –> Personal Access Token –> Generate new token

img

img

自己先保存此token,如果丢失,之后再也无法找到这个token。

GitHub webhooks 设置

进入GitHub上指定的项目 –> setting –> WebHooks&Services –> add webhook –> 输入刚刚部署jenkins的服务器的IP

img

4.jenkins的github配置

安装GitHub Plugin

系统管理–>插件管理–>可选插件

直接安装Github Plugin, jenkins会自动帮你解决其他插件的依赖,直接安装该插件Jenkins会自动帮你安装plain-credentials 、Git 、 credentials 、 github-api

img

配置GitHub Plugin

系统管理 –> 系统设置 –> GitHub –> Add GitHub Sever

如下图所示

img

API URL 输入 https://api.github.com,Credentials点击Add添加,Kind选择Secret Text,具体如下图所示。

img

设置完成后,点击TestConnection,提示Credentials verified for user UUserName, rate limit: xxx,则表明有效。

创建一个freestyle任务

- General 设置
填写GitHub project URL, 也就是你的项目主页
eg. https://github.com/your_name/your_repo_name

img

- 配置源码管理

img

  1. 填写项目的git地址, eg. https://github.com/your_name/your_repo_name.git
  2. 添加github用户和密码
  3. 选择githubweb源码库浏览器,并填上你的项目URL,这样每次构建都会生成对应的changes,可直接链到github上看变更详情

- 构建触发器,构建环境

img

- 构建

img

- 构建后操作

img

最后点击保存即可

5.测试效果

测试效果1

img

测试效果2

img

6.参考:

Jenkins+Github持续集成
Jenkins入门总结

Mock数据-Whistle

发表于 2017-06-22

1.简介

whistle继承了Fiddler、Charle的一些优秀设计(如Fiddler请求数据的展示界面),这两者分别是Windows、macOS平台的优秀代理工具。但whistle不是Fiddler、Charles的复制品,whistle有自己独特丰富的功能,如日志系统log、移动调试工具weinre、插件机制等。whistle也对操作请求和响应的方式做了改进,通过扩展系统hosts的配置方式及匹配方式,同时支持域名、正则和路径的匹配方式,让所有请求和响应的操作都可以通过类似hosts的配置方式实现,最新版whistle更是支持带端口号的host配置。不仅如此,开发者也可以通过whistle的插件扩展实现自身的个性化功能。实践证明这种方式使用起来方便,用户体验非常好。

2.安装启动

2.1 安装node

直接给链接好了,node下载,不再赘述

2.2 安装Whistle

Node安装成功后,执行如下npm命令安装whistle (Mac或Linux的非root用户需要在命令行前面加sudo,如:sudo npm install -g whistle)

1
$ npm install -g whistle

安装完成后检查一下,如果正常显示帮助信息,则表示安装成功

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ w2 help

Usage: w2 <command> [options]

Commands:

run Start a front service
start Start a background service
stop Stop current background service
restart Restart current background service
help Display help information

Options:

-h, --help output usage information
-d, --debug debug mode
-l, --localUIHost [hostname] local ui host(local.whistlejs.com by default)
-n, --username [username] login username
-w, --password [password] login password
-S, --storage [newStorageDir] the new local storage directory
-C, --copy [storageDir] copy storageDir to newStorageDir
-p, --port [port] whistle port(8899 by default)
-m, --middlewares [script path or module name] express middlewares path(as: xx,yy/zz.js)
-u, --uipath [script path] web ui plugin path
-t, --timeout [ms] request timeout(36000 ms by default)
-s, --sockets [number] max sockets(12 by default)
-V, --version output the version number
-c, --command <command> command parameters ("node --harmony")

2.3 启动whistle

启动whistle:

1
w2 start

Note: 如果要防止其他人访问配置页面,可以在启动时加上登录用户名和密码 -n yourusername -w yourpassword。

重启whsitle:

1
$ w2 restart

停止whistle:

1
$ w2 stop

调试模式启动whistle(主要用于查看whistle的异常及插件开发):

1
$ w2 run

启动完whistle后,最后一步需要配置代理。

2.4 配置代理

配置信息

1) 代理服务器:127.0.0.1(如果部署在远程服务器或虚拟机上,改成对应服务器或虚拟机的ip即可)
2) 默认端口:8899(如果端口被占用,可以在启动是通过 -p 来指定新的端口,更多信息可以通过执行命令行 w2 help (v0.7.0及以上版本也可以使用w2 help) 查看)

代理配置方式

安装Chrome插件并启用

详细的不多说,就拿本地静态json作为mock数据吧,目前只测试过get请求,以后用到再补充

1
2
3
pattern resBody://filepath

e.g. http://192.168.1.205:5001/summary resBody:///Users/cloudwiz/Desktop/cloudw_project/data/summary.json

Ubuntu-Node

发表于 2017-06-14

1. Nodejs

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

Node.js 的包管理器 npm,是全球最大的开源库生态系统。

2. 安装node,顺便装了npm

1
2
$ sudo apt install nodejs-legacy
$ sudo apt install npm

安装完成后,查看版本号

1
2
$ node -v
$ npm -v

3. hello world

1
2
$ node
console.log("Hello World!");

4. nodejs 卸载

1
$ sudo apt-get remove nodejs

hexo换电脑

发表于 2017-05-29

1. 源代码上云端

将源代码上传到github上

1
$ git remote add origin git@github.com:liuhuiIris/liuhuiIris.github.io.git

如果提示错误 **.git

1
2
3
4
5
6
7
8
9
10
$ git init
```


接下来就是常规的git操作
``` bash
$ git checkout -b hexo
$ git add .
$ git ci -m '随便写点什么'
$ git push <<如果首次创建,根据提示输入命令

2. 在新电脑上配置hexo

将代码clone下来,master上是部署的博客,hexo分支上是我们的源代码,切到源代码分支

1
2
3
4
5
$ 1、git clone git@github.com:liuhuiIris/liuhuiIris.github.io.git
$ git checkout hexo
$ sudo npm install hexo -g
$ npm install hexo --save
$ npm install

3. 继续愉快的写博客吧

1
2
3
4
$ hexo new blockName
$ hexo g
$ hexo s
$ hexo d

4. 不成功?

1、服务提示 no index.html

检查thmes文件是否缺失,重新配置下主题,再次编译

2、 重新部署hexo不需要hexo init

如果运行了hexo init也没关系,重新配置 _config.yml文件

1
2
3
4
deploy:
type: git
repository: git@github.com:liuhuiIris/liuhuiIris.github.io.git
branch: master

Ubuntu--Nginx

发表于 2017-05-26

1. Ubuntu简介

在leader的‘淫威’之下,走上了linux的不归路,不负责任地选择了这么个操作系统。

言归正传,Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于Debian GNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的。

2. Linux简单命令

修改默认用户名

sudo vim /etc/hostname

修改密码

sudo passwd root/username

3. Nginx

安装Nginx

sudo apt-get install nginx

查看修改配置文件

sudo vim /etc/nginx/sites-available/default

server { 
  #80指端口号,可以修改为自己所需要的
  listen 80 default_server; 
  #还有这里 同样改为你想要的监听端口 
  listen [::]:80 default_server ipv6only=on; 

  ...
}

查看nginx是否安装成功

在浏览器中输入 localhost, 即可看到nginx默认欢迎页。撒花~~~

nginx常用命令

nginx -s stop   >>关闭nginx
nginx -s reload >>重读配置文件

windows下的Nginx

发表于 2017-01-09

1. 简介

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。
由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。
其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,
中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

2. windows下安装Nginx

Nginx官网安装

--->选择合适的版本安装
--->解压到自定义的路径下

3. 配置环境变量

系统path--->添加自定义的路径

4. 相关命令

nginx   默认端口号为80,若被占用,可改配置或关闭占用的进程
nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出 nginx

5. 预览

在浏览器中访问本地ip即可

6. 关闭占用端口号80进程的方法

命令行查找占用80端口的进程  netstat -ano|findstr 80
找到相应的pid
打开任务管理器(快捷键 Ctrl+Shift+Esc)
根据pid,关闭进程

通常占用80端口的程序有:迅雷、IIS。
可去IIS管理其中修改网站端口号或者关闭网站。

7. 乱乱配置反向代理

/****************** nginx.conf ***********************/

#user  nobody;
# user root owner;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    include D:/nginx-1.10.2/conf.d/*.conf;

}

微信小程序之由Swiper组件实现的Tab切换

发表于 2017-01-06

1.效果图—样式将就下

"wx_tab"
"wx_tab"
"wx_tab"

2.上代码

/************************ tab.js ***************************/
Page({
    data: { 
        views: [ 
            'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg', 
            'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg', 
            'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg' 
        ]
    }
})

/************************ tab.wxml ***************************/
<swiper indicator-dots="true">
    <block wx:for="{{views}}">
        <swiper-item>
            <view class="slide-view">
                <image src="{{item}}" />
            </view>
        </swiper-item>
    </block>
</swiper>

/************************ tab.wxss ***************************/
@charset "UTF-8";
page {
  display: block;
  min-height: 100%;
  background-color: red; }

swiper-item {
  min-height: 100%;
  margin-top: 88rpx; }

.slide-view {
  width: 100%; }

page {
  background: #eeeeee; }

page .wx-swiper-dots.wx-swiper-dots-horizontal {
  top: 0; }

page .wx-swiper-dot {
  width: 252rpx;
  display: inline-flex;
  height: 88rpx;
  line-height: 80rpx;
  vertical-align: sub;
  background: #fff;
  border-bottom: 5rpx solid transparent; }
  page .wx-swiper-dot:nth-child(1)::before {
    content: '消息'; }
  page .wx-swiper-dot:nth-child(2)::before {
    content: '通讯录'; }
  page .wx-swiper-dot:nth-child(3)::before {
    content: '发现'; }

page .wx-swiper-dot-active {
  border-color: #00bbfc; }

page .wx-swiper-dot::before {
  flex-grow: 1; }

page .wx-swiper-dot-active::before {
  color: #00bbfc;
  flex-grow: 1; }

前端之路陪我走过的网站

发表于 2016-11-11

未做分类,请见谅。没准什么时候有心情,可能会分类整理吧~~~

1. 前端开发框架之——Swiper:http://www.swiper.com.cn/

Swiper常用于移动端网站的内容触摸滑动

Swiper能实现触屏焦点图、触屏Tab切换、触屏多图切换等常用效果。

Swiper还有许多功能,笔者目前只用来做轮播图,触屏tab切换。

应用案例:仿DarryRing课程项目

2. sass官网:http://sass-lang.com/ Sassz中文教程 http://www.w3cplus.com/sassguide/

Sass is the most mature, stable, and powerful professional grade CSS extension language in the world.

环境配置教程 : sass+Sublime|Hbuilder

3. less http://lesscss.cn/

Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。

Less 可以运行在 Node 或浏览器端。

作用同sass,只是语法稍有差异,可跟根据个人喜好选择

4. nodejs官网、nodejs中文网

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

不学nodejs如何进阶全栈开发工程师呢?(虽然笔者是个小白~~~)

5.模块化开发之RequireJS——RequireJs官网、RequireJs中文网

RequireJS 是一个JavaScript模块加载器。它非常适合在浏览器中使用, 它非常适合在浏览器中使用,但它也可以用在其他脚本环境, 就像 Rhino and Node. 使用RequireJS加载模块化脚本将提高代码的加载速度和质量。

6.模块化开发之Webpack——Webpack官网、中文指南

Webpack 是当下最热门的前端资源模块化管理和打包工具。

它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。

还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。

通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ES6 模块、CSS、图片、 JSON、Coffeescript、 LESS 等。

7.模块化开发之npm——npm

npm is the package manager for JavaScript. Find, share, and reuse packages of code from hundreds of thousands of developers — and assemble them in powerful new ways.

8.模块开发之Gulp——Gulp

易于使用
通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。

构建快速
利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。

插件高质
Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作。

易于学习
通过最少的 API,掌握 Gulp 毫不费力,构建工作尽在掌握:如同一系列流管道。

9. 单页应用开发之VueJs——Vuejs

Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架。

与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。

Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。

另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

10. 项目管理之Git——github、码云

励志成为程序员的我怎么能没有github帐号上传几个demo,写几篇博客呢???

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git的读音为/gɪt/。

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

git下载
git安装教程
廖雪峰的官方网站之git教程
hbuilder中如何使用egit上传项目-瓦蕾瓦蕾

11. 项目管理之SVN——阿里云

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

类似于github,但是之前做项目的时候,因为网速或者其他某些原因提交失败,所以笔者就傲娇地放弃了阿里云。。。

之后会补上Eclipse+SVN配置教程。

12. 前端开发框架之——Bootstrap

简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。

网站上各种案例,这里就不献丑了

13. API文档

W3C在线教程
JQuery1.12 API

写这个居然也写了一晚上,未完待续。。。
123
Hui Liu

Hui Liu

22 日志
17 标签
GitHub E-Mail Twitter
© 2018 Hui Liu
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4