0%

记录一下OpenWrt开启外网访问并绑定SSL证书的操作

外网访问

  • 关闭只允许内网访问的设置(去掉勾选)
  • 防火墙==>端口转发 中添加端口转发,将外网5500应设置OpenWrt的80端口
  • 通过域名+5500端口即可访问

添加SSL证书

  • 编辑uHTTPd的配置文件,打开路由器的SSL 443端口

    1
    $ vi /etc/config/uhttpd

    在原有配置 list listen_http ‘0.0.0.0:80’下面加入以下两行

    1
    2
    3
    # 注意是https
    list listen_https '0.0.0.0:443'
    list listen_https '[::]:443'
  • 输入以下命令安装 acme.sh

    1
    $ curl  https://get.acme.sh | sh

    可以看到此时已经添加了定时任务

  • 此处使用 cloudflare 接口进行自动认证

    • 获取CF_Email,CF_Key两个参数,并执行以下命令
      1
      2
      export CF_Email="abcde@126.com"
      export CF_Key="de6132435csofe45464650w4646464602"
  • 输入以下命令,运行acme.sh生成证书,并将生成的证书放到uHTTPd的默认存储位置,最后自动重启uHTTPd

    1
    $ /root/.acme.sh/acme.sh --issue --dns dns_cf -d sowevo.com -d *.sowevo.com --keypath /etc/uhttpd.key --fullchainpath /etc/uhttpd.crt --reloadcmd "/etc/init.d/uhttpd restart"

    稍等一会命令执行完成(不同的dns厂商时间会有不同),证书就申请完毕

  • 将路由器的443端口映射到外网

    家宽的443端口竟然没有封,就先使着吧…

img

Docker Compose

简介

Docker

DockerFile build run 手动操作,单个容器!

微服务,服务多,相互依赖

使用Docker Compose来高效管理,定义多个容器

  • 官方介绍

    定义运行多个容器

    使用yaml配置文件

    所有环境都可以使用

阅读全文 »

img

Docker概述

Docker为什么会出现?

环境配置的难题:开发环境,测试环境,模拟环境

开发者常常会说:它在我的机器可以跑了(It works on my machine),言下之意就是,其他机器很可能跑不了.

安装的时候,可不可以把原始环境一模一样地复制过来.

Docker针对上面的问题,提出了解决方案

阅读全文 »

好久没有更新文章了,我甚至都不记得的我还有个网站了
折腾了半天终于能更新了
记录下相关命令
防止以后还得到处找

本地恢复hexo的环境

  • 安装nodejs

    1
    2
    3
    4
    5
    6
    # mac
    $ brew install node
    # centos
    $ yum install -y nodejs
    # Ubuntu
    $ apt install nodejs npm -y
  • node的国内镜像源配置

    1
    $ npm config set registry https://registry.npm.taobao.org
  • 从git克隆项目文件

    1
    2
    3
    # 因为使用了子项目管理主题,加上'--recursive'参数 
    $ git clone --recursive git@github.com:Sowevo/sowevo.github.io.git
    $ git clone --recursive https://github.com/Sowevo/sowevo.github.io.git
  • 进入项目

    1
    $ cd ~/sowevo.github.io
  • 更新主题子项目

    1
    2
    3
    4
    5
    6
    7
    8
    # 进入项目
    $ cd ~/sowevo.github.io
    # 更新子项目的代码
    $ git submodule update --remote --merge
    # 如果有更新,提交一下
    $ git add themes/next
    $ git commit -m "themes submodule updated"
    $ git push
  • 更新升级项目依赖包

    1
    2
    3
    4
    # 进入项目
    $ npm i -g npm-check-updates
    $ ncu -u
    $ npm install
  • 安装相关依赖

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 安装hexo
    $ npm install -g hexo-cli
    # 安装依赖
    $ npm install
    # 安装hexo git 部署插件
    $ npm install hexo-deployer-git
    # 其他插件
    $ npm install hexo-generator-sitemap
    $ npm install hexo-generator-baidu-sitemap
    $ npm install hexo-generator-feed
  • 至此,环境恢复完成,可以开始干活了!!!

  • 相关命令

    1
    2
    3
    4
    5
    6
    7
    8
    # 新建文章
    $ hexo n "我的博客"
    # 生成静态文件
    $ hexo g
    # 运行服务
    $ hexo s
    # 部署
    $ hexo d
  • 记得提交hexo分支的源文件

新装联通宽带一条,300M
送了一台KD-YUN-811G的光猫,也不知道是什么牌子的
想要自己改桥接模式,
百度搜索一番后,找到了方法
记录一下过程

此方法同样适用于

  • TEWA-800E

二逼破解

  • 进入光猫登录界面
    登录界面
  • F12进入开发者工具,在Elements中搜索user_name找到这里
    阅读全文 »

centos现在默认的python还是2.x版本的,没事总要给他换个3.x版本

安装安装python3可能使用相关软件

1
2
yum groupinstall 'Development Tools'
yum install -y ncurses-libs zlib-devel mysql-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc

安装安装python3

  • python官网下载安装包

  • 下载最新版源码,使用make altinstall,如果使用make install,在系统中将会有两个不同版本的Python在/usr/bin/目录中。这将会导致很多问题,而且不好处理。

    1
    2
    3
    4
    5
    6
    7
    # 此处以3.6.5为例
    wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
    tar -xzvf Python-3.6.5.tgz -C /tmp
    cd /tmp/Python-3.6.5/
    ./configure --prefix=/usr/local
    make
    make altinstall
  • 更改/usr/bin/python链接,如果有pip也给更改了

    1
    2
    3
    4
    5
    6
    7
    cd /usr/bin
    mv python python.backup
    ln -s /usr/local/bin/python3.6 /usr/bin/python
    ln -s /usr/local/bin/python3.6 /usr/bin/python3
    mv pip pip.backup
    ln -s /usr/local/bin/pip3.6 /usr/bin/pip
    ln -s /usr/local/bin/pip3.6 /usr/bin/pip3
  • 更改yum脚本的python依赖

    1
    2
    cd /usr/bin
    ls yum*
  • 修改上面命令列出的文件更改以上文件头

    1
    #!/usr/bin/python 改为 #!/usr/bin/python2
  • 修改gnome-tweak-tool配置文件(如果有的话)

    1
    2
    vim /usr/bin/gnome-tweak-tool
    #!/usr/bin/python 改为 #!/usr/bin/python2
  • 修改urlgrabber配置文件(如果有的话)

    1
    2
    vim /usr/libexec/urlgrabber-ext-down
    #!/usr/bin/python 改为 #!/usr/bin/python2

2018年6月29日,腾讯在官方论坛发布QQ宠物即将停运的公告。

  • 2005年6月,腾讯发布了一款桌面虚拟宠物养成游戏──QQ宠物
  • 同年,我第一次接触计算机(去网吧😅),注册了我的第一个QQ账号
  • 2008年,家中购置了一台计算机,我开始第一次遇见QQ宠物

从2008年到现在,期间一直断断续续的玩这个游戏,逐渐成为了有百万元宝的大富鹅,研究生毕业的文化鹅,去过世界每一个角落的探险鹅.

虽然依依不舍,但是QQ宠物停运是无法阻拦的事

可怜的小胖鹅开心的吃着宵夜,也许他永远不会知道这是他吃的最后的一顿

20180915013625.png

阅读全文 »

2

闲来无事,把博客从WordPress迁移到了Hexo

WordPress对Markdown支持不太好,又得要个php服务器支持,费事~~~

Hexo可以直接是用静态页面管理,还是挺简单的

最后,大家一起来

Hello World!

Git合并

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 确保来源分支代码最新
$ git checkout master
$ git pull

# 确保目标分支代码最新
$ git checkout QC_1916
$ git pull

# 在目标分支上执行操作,禁止快进式合并
$ git merge --no-f origin/master

# 如果有冲突
$ git merge --no-f origin/master
Auto-merging index.html
CONFLICT (content): Merge conflict in Devmngr/app/BP/system/BusCityInfoBP.java
Automatic merge failed; fix conflicts and then commit the result.
# 开始解决冲突
# 查看冲突状态
$ git status
# 开始处理
$ git mergetool

This message is displayed because 'merge.tool' is not configured.
See 'git mergetool --tool-help' or 'git help config' for more details.
'git mergetool' will now attempt to use one of the following tools:
opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse diffmerge ecmerge p4merge araxis bc codecompare emerge vimdiff
Merging:
Devmngr/app/BP/system/BusCityInfoBP.java

Normal merge conflict for 'Devmngr/app/BP/system/BusCityInfoBP.java':
{local}: modified file
{remote}: modified file
Hit return to start merge resolution tool (tortoisemerge):

# 输入回车用默认的合并工具
# 在工具中解决冲突

# 在次查看状态确认已解决
$ git status

# 完成合并提交
$ git commit

# 提交到远端
$ git push
阅读全文 »

群晖搭建h5ai

群晖NAS自带的文件共享工具浏览器打开实在太费劲了,自己想办法给他加一个简单点的文件目录列表程序
选择使用h5ai这个程序,这里是官方的演示站点
网上找到的部署教程都是针对普通linux服务器的,所有的虚拟主机之类的配置都是可以自己配置的
群晖这个稍微麻烦一点 其中的针对nginx的配置文件的处理有些不同
群晖自己有自带的WebStation套件,使用WebStation可以对nginx进行简单的配置 使用WebStation新建虚拟主机
QQ截图20180203033825.png
其中文档根目录选择的是你需要在h5ai中列出的文件的内容,端口号为后续打开h5ai使用 配置完成后,WebStation就为你自动创建了nginx的配置文件 但是根据官方的说明文档,需要在配置文件中增加

1
index  index.html  index.php  /_h5ai/public/index.php;

问题是WebStation的配置文件在哪里呢? 百度一下有了结果~ 如果要改nginx的配置文件,需要使用ssh客户端连接上群辉服务器,使用admin用户登录 执行下列命令查看nginx的配置文件

1
cat /etc/nginx/app.d/server.webstation-vhost.conf

结果如下图
QQ截图20180203035008.png
如果之前有增加过其他的虚拟主机,可能会有多个配置信息 其中红线部分表示在这个位置下的所有以user.conf开头的配置文件,都会作为配置文件的一部分被引入

1
2
cd /usr/local/etc/nginx/conf.d/e5e2068d-bde3-4b31-a963-0b64087fcdcf/
sudo vim user.conf.h5ai

所以我们只需要在这个路径下新建一个配置文件,将文档中提到的内容写入进去
index index.html index.php /_h5ai/public/index.php;
重启nginx服务

1
sudo nginx -s reload

环境配置完成,部署h5ai 将h5ai解压到刚才新建虚拟主机选择的目录下 QQ截图20180203040324.png 并对其中两个目录授予666的权限

1
2
sudo chmod 666 _h5ai/private/cache
sudo chmod 666 _h5ai/public/cache

使用ip加10005端口即可访问 QQ截图20180203043006.png