如何通过vpn代理来连接服务器

ssh root@192.168.0.1 -o "ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p"

ssh root@192.168.0.1 这部分就不用解释了吧?我们来看看 -o “ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p”

-o ProxyCommand : ssh 命令选项,你可以理解成使用 “在 ssh 中使用代理”

nc: nc命令(netcat)

127.0.0.1:1080: 本地 shadowsock 的监听地址和监听端口,这是这条命令的唯一需要你自己配置的部分,可内网或者外网。

使用 shadowsock 来代理 ssh 访问服务器

已测试软件

  • xshell
  • ProxyCap

下面需要的socks5与佛跳墙给的vpn及ss信息对不上. 配置后无法连接上代理服务器.

查阅资料

ssh通过代理连接服务器
Xshell添加ssh隧道SOCKS代理
通过 Socks5 代理进行 SSH 连接
Shadowsocks Windows 使用说明

使用docker-compose编排启动后, 服务需求增加, 是否可以不所有的服务重启?

编排了 php、nodejs、mysql、nginx 四个服务. docker-compose up -d启动.

现在php的镜像需要增加8080端口,在docker-compose.yml修改好并所有重启. docker-compose down docker-compose up -d

上面的场景是每次修改dockerfile或docker-compose.yml都是要启动所有的服务.

有没有方式可以只重启修改的部分并加载那部分的yml配置?


解决

再次执行docker-compose up -d

查阅文档: https://docs.docker.com/compose/reference/up/

PHP-如何重写这个类的方法?

使用一个github接口的composer包. 其中有一个获取readme的接口少了一个参数[分支]. 如何在不改动代码的情况下来增加一个参数?

仓库地址php-github-api

方法位置-Repo.php

    /**
     * Get the readme content for a repository by its username and repository name.
     *
     * @link http://developer.github.com/v3/repos/contents/#get-the-readme
     *
     * @param string $username   the user who owns the repository
     * @param string $repository the name of the repository
     * @param string $format     one of formats: "raw", "html", or "v3+json"
     *
     * @return string|array the readme content
     */
    public function readme($username, $repository, $format = 'raw')
    {
        return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/readme', [], [
            'Accept' => "application/vnd.github.$format",
        ]);
    }

直接继承Repo类, 重新方法, new 类的时候要把 Client 对象传入.

<?php
namespace Base\Bl;
use Github\Api\Repo;
class GithubRepoBl extends Repo
{
    public function readme($username, $repository, $branches ='master', $format = 'raw')
    {
        return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/readme', ['ref' => $branches], [
            'Accept' => "application/vnd.github.$format",
        ]);
    }
}
use Base\Bl\GithubRepoBl;
use Github\Client;
class UserController extends Controller
{
    public function shareProject(Client $client)
    {
        $clientObj = new GithubRepoBl($client);
        $readme = $clientObj->readme('hellomjw', 'pedep', 'lavalite');

    }
}