跟着冲冲向前冲

跟着冲冲向前冲 查看完整档案

郑州编辑  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

跟着冲冲向前冲 赞了回答 · 2019-11-14

解决各位大佬,咨询一下你们的服务器log是怎么分类的?想找一个比较合理的,方便查询问题的分类方式,JAVA程序

一个全量日志:info.log,所有的日志全部都放到里面
一个error日志,error.log,只存放error的日志,方便查找问题
一个server.log日志,存储服务启动时的日志,包括失败日志
一个gc.log,存储gc日志
至于warn日志什么的,没必要打。当然还需要配置内存泄露时的dump日志

关注 2 回答 1

跟着冲冲向前冲 提出了问题 · 2019-11-14

解决各位大佬,咨询一下你们的服务器log是怎么分类的?想找一个比较合理的,方便查询问题的分类方式,JAVA程序

想找一种比较合理的方便日志查询的日志打印分类方式。用的是JAVA程序,现在是用的log4j,但日日志是按日期都打在一个文件里

关注 2 回答 1

跟着冲冲向前冲 关注了标签 · 2019-06-05

python

Python(发音:英[ˈpaɪθən],美[ˈpaɪθɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。

Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。

Python的主要参考实现是CPython,它是一个由社区驱动的自由软件。目前由Python软件基金会管理。基于这种语言的相关技术正在飞快的发展,用户数量快速扩大,相关的资源非常多。

关注 102710

跟着冲冲向前冲 关注了标签 · 2019-06-05

python

Python(发音:英[ˈpaɪθən],美[ˈpaɪθɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。

Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。

Python的主要参考实现是CPython,它是一个由社区驱动的自由软件。目前由Python软件基金会管理。基于这种语言的相关技术正在飞快的发展,用户数量快速扩大,相关的资源非常多。

关注 102710

跟着冲冲向前冲 关注了标签 · 2018-09-13

node.js

图片描述
Node 是一个 Javascript 运行环境(runtime)。实际上它是对 Google V8 引擎(应用于 Google Chrome 浏览器)进行了封装。V8 引擎执行 Javascript 的速度非常快,性能非常好。Node 对一些特殊用例进行了优化,提供了替代的 API,使得 V8 在非浏览器环境下运行得更好。例如,在服务器环境中,处理二进制数据通常是必不可少的,但 Javascript 对此支持不足,因此,V8.Node 增加了 Buffer 类,方便并且高效地 处理二进制数据。因此,Node 不仅仅简单的使用了 V8,还对其进行了优化,使其在各环境下更加给力。

关注 81157

跟着冲冲向前冲 关注了标签 · 2018-09-13

微信小程序

微信小程序开发工具,技巧

关注 891

跟着冲冲向前冲 关注了标签 · 2018-09-13

小程序

小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。

关注 2055

跟着冲冲向前冲 赞了文章 · 2018-09-13

使用Frp内网穿透快速搭建Web应用实践

一、背景

笔者最近折腾docker服务比较多,这几天想把在内网中的服务搬到公网当中,但docker对内存要求较高,而云服务高内存的服务器又比较贵,家里虽然有一台旧笔记本内存还可以,但是没有公网IP地址,视乎还是没有办法,就在纠结的时候想起FRP这个内网穿透软件,重新回顾了一下搭建方法,发现搭建步骤较为简单,为了以后有所参考,所以把搭建步骤详细记录了下来。

二、操作步骤

  1. 配置服务端
  2. 配置客户端
  3. 检验与测试

三、配置服务端

FRP分为服务端与客户端,一个服务端可以对应多个客户端,笔者首先需要在服务器中下载并安装FRP

3.1 文件选择

frp是开源的一个内网穿透软件,github源码以及文档地址如下

https://github.com/fatedier/frp

在文档当中可以看到编译好的二进制文件,URL地址如下:

https://github.com/fatedier/frp/releases

在下载地址当中有多个版本,笔者需要选择自己所对应系统的版本,笔者服务器使用的是64位的Centos系统,客户端使用的是mac系统,因此需要下载frp_0.21.0_linux_amd64.tar.gzfrp_0.21.0_darwin_amd64.tar.gz两个压缩包,如下图所示

image

3.2 下载与解压

现在需要在服务器中下载对应版本,首先通过ssh登录服务器,参考命令如下

ssh root@121.42.11.33

登录服务器之后,笔者需要使用wget下载文件,参考命令如下

wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz

下载之后,需要解压刚才下载的压缩文件,参考命令如下

tar -zxvf frp_0.21.0_linux_amd64.tar.gz

命令返回结果如下

frp_0.21.0_linux_amd64/
frp_0.21.0_linux_amd64/frps_full.ini
frp_0.21.0_linux_amd64/frps.ini
frp_0.21.0_linux_amd64/frpc
frp_0.21.0_linux_amd64/frpc_full.ini
frp_0.21.0_linux_amd64/frps
frp_0.21.0_linux_amd64/LICENSE
frp_0.21.0_linux_amd64/frpc.ini

解压之后并进入文件夹查看,参考命令如下

cd frp_0.21.0_linux_amd64  && ll

返回结果如下

-rw-rw-r-- 1 root root  12K Aug 12 12:38 LICENSE
-rwxrwxr-x 1 root root 7.2M Aug 12 12:34 frpc
-rw-rw-r-- 1 root root  126 Aug 12 12:38 frpc.ini
-rw-rw-r-- 1 root root 5.6K Aug 12 12:38 frpc_full.ini
-rwxrwxr-x 1 root root 8.6M Aug 12 12:34 frps
-rw-rw-r-- 1 root root   26 Aug 12 12:38 frps.ini
-rw-rw-r-- 1 root root 2.4K Aug 12 12:38 frps_full.ini

3.3 修改配置

在返回结果当中可以看到有多个文件,不过笔者实际上只需要关心frpsfrps.ini就可以了

查看配置文件参考命令如下

cat frps.ini

返回结果如下

[common]
bind_port = 7000

在返回结果当中可以看到端口为7000,这个端口便是FRP与客户端通信的端口,因为笔者需要搭建Web服务,所以需要在配置文件当中加入http服务的监听端口,参考命令如下

vim frps.ini

修改配置文件,修改后的配置文件内容如下

[common]
bind_port = 7000
vhost_http_port = 8888

3.4 服务启动

修改完成之后,笔者便可启动FRPS服务,参考命令如下

./frps -c frps.ini

返回结果

2018/08/29 23:43:30 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000
2018/08/29 23:43:30 [I] [service.go:172] http service listen on 0.0.0.0:8888
2018/08/29 23:43:30 [I] [root.go:207] Start frps success

四、配置客户端

在配置服务端完成之后,笔者还需要在内网中配置客户端,这个客户端也就是Web服务器,具体操作如下

4.1 下载与解压

搭建FRP客户端,首先需要在客户端下载FRP压缩文件;笔者mac系统所下载文件及对应的参考命令如下

wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_darwin_amd64.tar.gz

下载之后同样需要解压文件,参考命令如下

tar -zxvf frp_0.21.0_darwin_amd64.tar.gz

命令执行之后返回结果如下

x frp_0.21.0_darwin_amd64/
x frp_0.21.0_darwin_amd64/frps_full.ini
x frp_0.21.0_darwin_amd64/frps.ini
x frp_0.21.0_darwin_amd64/frpc
x frp_0.21.0_darwin_amd64/frpc_full.ini
x frp_0.21.0_darwin_amd64/frps
x frp_0.21.0_darwin_amd64/LICENSE
x frp_0.21.0_darwin_amd64/frpc.ini

进入解压的文件夹中并查看文件列表,参考命令如下

cd frp_0.21.0_darwin_amd64  && ll

执行后返回的信息如下

total 35632
-rw-r--r--  1 song  staff    11K Aug 12 12:38 LICENSE
-rwxr-xr-x  1 song  staff   8.0M Aug 12 12:33 frpc
-rw-r--r--  1 song  staff   126B Aug 12 12:38 frpc.ini
-rw-r--r--  1 song  staff   5.6K Aug 12 12:38 frpc_full.ini
-rwxr-xr-x  1 song  staff   9.4M Aug 12 12:33 frps
-rw-r--r--  1 song  staff    26B Aug 12 12:38 frps.ini
-rw-r--r--  1 song  staff   2.3K Aug 12 12:38 frps_full.ini

4.2 配置服务

客户端所需注意的文件有两个,分别是frpcfrpc.ini,先来查看配置文件默认内容是什么,参考命令如下

cat frpc.ini

返回结果如下

[common]
server_addr = 127.0.0.1
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

在默认的客户端配置文件当中,配置了一个TCP映射,不过笔者需要搭建Web服务,因此还需要添加一个HTTP映射,并修改对应的服务端IP地址,参考命令如下

vim  fprc.ini

编辑后的结果如下所示

[common]
server_addr = 121.42.11.33
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 5000

[web]
type = http
local_port = 8080
custom_domains = test.songboy.net

4.3 启动服务

修改客户端的配置文件完成之后,笔者需要让客户端的FRP来连接服务端的FRP服务,参考命令如下

sudo ./frpc -c frpc.ini

执行命令后返回结果如下所示

2018/08/30 09:50:07 [I] [proxy_manager.go:300] proxy removed: []
2018/08/30 09:50:07 [I] [proxy_manager.go:310] proxy added: [ssh web]
2018/08/30 09:50:07 [I] [proxy_manager.go:333] visitor removed: []
2018/08/30 09:50:07 [I] [proxy_manager.go:342] visitor added: []
2018/08/30 09:50:07 [I] [control.go:246] [55b8b354889e6f44] login to server success, get run id [55b8b354889e6f44], server udp port [0]
2018/08/30 09:50:07 [I] [control.go:169] [55b8b354889e6f44] [ssh] start proxy success
2018/08/30 09:50:07 [I] [control.go:169] [55b8b354889e6f44] [web] start proxy success

在返回结果当中,可以看到ssh服务代理成功,web服务也代理成功,说明笔者的配置无误

五、检验与测试

前面的操作已经成功的配置了内网穿透服务,现在笔者需要通过ssh登录和web服务来验证服务是否可用,操作步骤如下

5.1 测试Web服务

测试Web服务是否穿透可以通过访问外网地址,如果能打开内网中的Web服务便说明搭建成功,这里需要搭建一个虚拟主机,参展步骤如下

5.1.2 添加虚拟主机

要让用户能通过外网访问Web服务,首先需要配置一个域名让其解析到FRP服务器当中,这里为了验证方面,便使用hosts添加记录方式操作,参考命令如下

sudo vim /etc/hosts

在尾部添加一条host记录,参考内容如下

121.42.11.33  test.songboy.net

添加的内容当中,IP地址为外网用户能访问到的IP地址,也就是笔者开始搭建FRP服务器的IP地址

接下来笔者还需要增加一个虚拟主机,所以需要修改nginx配置文件,在nginx配置文件中添加配置如下

server {
listen       8080;
server_name  test.songboy.net;

root   /Users/song/mycode/work/media-server-api/public;
index  index.html index.htm index.php;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
include        fastcgi_params;
}
}

重启nginx ,参考命令如下

sudo nginx -s reload

5.1.3 访问网站

通过浏览器访问,URL地址如下

http://test.songboy.net:8888/

访问结果如下图所示

image

5.2 测试SSH服务

验证SSH的方式是通过ssh连接外网地址,如果登陆到本地服务器便说明ssh服务搭建成功

使用ssh登陆,参考命令如下

ssh -p 5000 song@test.songboy.net

查看当前文件夹,验证是否已经映射成功,参考命令如下

ls -l

返回结果如下

total 0
drwx------@   4 song  staff   136  7 19 18:37 Applications
drwx------@  12 song  staff   408  8 30 09:47 Desktop
drwx------@  30 song  staff  1020  8  6 08:58 Documents
drwx------+ 120 song  staff  4080  8 29 17:05 Downloads
drwx------@  65 song  staff  2210  8 18 16:12 Library
drwx------+   5 song  staff   170  8 17 15:19 Movies
drwx------+   5 song  staff   170  7 26 11:45 Music
drwx------+   4 song  staff   136  8 28 19:21 Pictures
drwxr-xr-x+   4 song  staff   136  7 19 16:33 Public
drwxr-xr-x    8 song  staff   272  8 24 14:26 config
drwxr-xr-x   22 song  staff   748  8 14 11:00 data
drwxr-xr-x    7 song  staff   238  8 24 19:31 dockerFile
drwxr-xr-x   12 song  staff   408  8 30 09:28 files
drwxr-xr-x    7 song  staff   238  8 13 09:54 mycode
drwxrwxrwx   20 song  staff   680  8 27 16:35 xhprof

在返回结果当中,可以看到文件夹与客户端的文件夹一致,便说明ssh服务以及验证成功。


作者:汤青松

微信:songboy8888

日期:2018-08-30

查看原文

赞 57 收藏 47 评论 6

跟着冲冲向前冲 赞了回答 · 2018-01-30

解决vue循环的时候商品与商品不能有后面+按钮?

<div class="mui-col" v-for="(items, index) in item.goods">
  <span class="span-name">{{items.name}}</span>
  <div class="addspan" v-if="index < (item.goods.length-1)">+</div>
</div>

关注 5 回答 3

跟着冲冲向前冲 关注了问题 · 2018-01-25

解决传统web开发如何进行前后端分离,或者说是否有必要进行前后端分离

这里希望做到的分离是:

  1. 前端独立开发,独立发布
  2. 必要的页面实现服务器端渲染,
  3. 浏览器兼容常规版本,例如ie8+

想知道有没有好的方案,或者是否有必要这样做

关注 12 回答 7

认证与成就

  • 获得 10 次点赞
  • 获得 14 枚徽章 获得 0 枚金徽章, 获得 3 枚银徽章, 获得 11 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-03-25
个人主页被 277 人浏览