svn代码库重定位relocate更换服务器

今天因为更换svn代码库服务器所以本地和远程相关的地方都需要重新定位。

svn重定位操作可能的原因:

a)服务器的计算机名称修改,IP地址已更改

b) 协议已更改(比如从svn http: https:等切换)

c) 版本库在服务器的路径更改

进入版本库目录执行:svn info 查看相关信息

执行以下代码更换:第一个参数原地址,第二个参数新地址

svn switch --relocate http://192.168.0.1/svn http://192.168.0.2/svn

windows下的TortoiseSVN更新地址:右键点击版本库,选择Relocate,弹出窗口更换即可。

发表在 服务器 | 标签为 | 留下评论

AJax如何提交数据数组?

今天原先我是用form表单直接提交php数据。内容如下:

<form action="my/feedback-create" class="form-wrap" method="post" id="Feedback">
      <textarea name="Feedback[content]" class="fb-lang" id="content" placeholder="请输入您反馈的内容" maxlength="150"></textarea>
   <input type="button" class="btn-sub" value="提交">
</form>

php接受后就是个多维数组,可是项目需求不能通过post直接跳转地址,需要通过ajax来提交,查询后使用jquery提交data可以把表单序列化转换即可。

var data = $('#Feedback').serialize();
发表在 服务器 | 标签为 | 留下评论

yii2出现您提交的数据无法被验证。

今天在前端在写提交的时候没有使用ActiveForm生成表单,直接用html写。

刚开始使用ge提交就没问题,接着改成post就出现:您提交的数据无法被验证。

发现是因为打开了csrf验证,而表单里面又没有了csrfToken导致。

在form之间加入

<input type="hidden" name="_csrf" value="<?=Yii::$app->request->getCsrfToken() ?>">

发现还出现同样的错误,后来发现因为使用yii2配置里面设置了参数名。

'components' => [
   'request' => [
      'csrfParam' => '_csrf-m',
   ],
]

所以只要把name修改成name=”_csrf-m”,再次提交没出错了。

发表在 服务器 | 标签为 , | 留下评论

vim突然无法操作没响应了

今天在linux虚拟机上操作vim,不知道按了什么突然命令行窗口对键盘没有任何相应。

查了半天应该是我不小心切换命令模式的时候按了不该按的组合键;

解决办法: CTRL+S表示停止向终端停止输出; CTRL+Q恢复向终端输出流.

发表在 服务器 | 标签为 , | 留下评论

yii2自带ViewAction视图类渲染静态页面

yii2如果需要渲染一个静态页面提交框架效率可以使用ViewAction类。

这里主要说说它几个参数:

viewPrefix//默认会到对应控制器下视图目录下的pages目录寻找,如果设置为false只会到控制器视图目录下寻到。

viewParam//视图参数名默认为view,可以设置。

defaultView//如果viewParam视图文件名参数没有传送,默认使用defaultView变量参数查询,可以设置。

它会根据用户的设置调用这个action来显示相应的视图文件。 首先在控制器里面的actions里面

<?php
class SiteController extends Controller
{
    public function actions()
    {
        return [
            'static' => [
                'class' => '\yii\web\ViewAction',
                'viewPrefix' => false,
                'viewParam' => 'view',
                'defaultView' => 'index'
            ],
        ];
    }
}
?>

在@app/views/site/pages/目录中创建index.php

<h1>Hello, I am a static page!</h1>

现在可以通过/index.php?r=site/static来访问 默认情况下是通过GET参数中的view变量来显示相应的静态文件的。

如果URL为/index.php?r=site/static?&view=about那么将会显示@app/views/site/pages/about.php静态文件。

静态文件默认按照如下顺序来显示 获取GET参数:view 如果没有指定view参数,将使用默认的index.php静态文件。

在静态文件的目录中查找相应的文件(viewPrefix):pages为目录 使用相应的布局文件。

发表在 服务器 | 标签为 | 留下评论

进入Docker容器attach和exec方式区别

attach 与 exec 主要区别如下:

  1. attach 直接进入容器 启动命令 的终端,不会启动新的进程。
  2. exec 则是在容器中打开新的终端,并且可以启动新的进程。
  3. 如果想直接在终端中查看启动命令的输出,用 attach;其他情况使用 exec。
发表在 服务器 | 标签为 | 留下评论

Docker镜像ubuntu安装ssh报错的解决方案

dockerubuntu镜像下安装ssh协议的时候执行安装ssh-client或ssh-server命令的时候出错。

 apt-get install openssh-client
 apt-get install openssh-server

openssh-server : Depends: openssh-client (= 1:5.9p1-5ubuntu1) but 1:5.9p1-5ubuntu1.1 is to be installed
直接提取版本运行一下命令尝试安装:

user@ken:~$sudo apt-get install openssh-client=1:5.9p1-5ubuntu1

发表在 服务器 | 标签为 , | 留下评论

Docker默认ubuntu镜像:bash: vi: command not found

docker纯净ubuntu镜像里面是没有vi命令的,敲vi命令时提示说:vi: command not found。

这时候可以安装vim替换。

这时候需要敲:apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。

等更新完毕以后再敲命令:apt-get install -y vim命令即可。

如果下载速度异常慢而且可能中端,可以配置下国内镜像源,因为还没有vi编辑功能,只能使用echo命令导入文件。

mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb http://mirrors.163.com/ubuntu/ wily main restricted universe multiverse" >/etc/apt/sources.list
echo "deb http://mirrors.163.com/ubuntu/ wily-security main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb http://mirrors.163.com/ubuntu/ wily-updates main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/ubuntu/ wily main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/ubuntu/ wily-security main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/ubuntu/ wily-updates main restricted universe multiverse" >>/etc/apt/sources.list

其中wily版本根据系统修改,查看Ubuntu使用apt-get更新慢解决方法修改镜像

更新安装源

apt-get update

再执行:apt-get install -y vim安装

发表在 服务器 | 留下评论

Ubuntu使用apt-get更新慢解决方法修改镜像

因为默认使用外国镜像地址的原因,所以国内使用很多时候会感觉缓慢,更换下镜像地址即可。

1、原文件备份

cp /etc/apt/sources.list /etc/apt/sources.list.bak

2、编辑源列表文件

vim /etc/apt/sources.list

3、将原来的列表删除,添加如下内容 这里使用网易镜像地址为例,其它自己网上搜索下。

deb http://mirrors.163.com/ubuntu/ Codename main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ Codename-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ Codename-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ Codename-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ Codename-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ Codename main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ Codename-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ Codename-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ Codename-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ Codename-backports main restricted universe multiverse

以上的配置中,表明版本的就是关键字“Codename”,这是Ubuntu表示版本的一种形式(Ubuntu称其为Codename),它即对应了一个发行版。版本号和Codename的对应关系如下表。这里只需要将上面的Codename字符串替换为下文中具体的Codename即可。

版本 别名(codename) 发布日期
4.10 Warty Warthog(长疣的疣猪) 2004年10月20日
5.04 Hoary Hedgehog(灰白的刺猬) 2005年4月8日
5.10 Breezy Badger(活泼的獾) 2005年10月13日
6.06 Dapper Drake(整洁的公鸭) 2006年6月1日(LTS)
6.10 Edgy Eft(急躁的水蜥) 2006年10月6日
7.04 Feisty Fawn(坏脾气的小鹿) 2007年4月19日
7.10 Gutsy Gibbon(勇敢的长臂猿) 2007年10月18日
8.04 Hardy Heron(耐寒的苍鹭) 2008年4月24日(LTS)
8.10 Intrepid Ibex (勇敢的野山羊) 2008年10月30日
9.04 Jaunty Jackalope(得意洋洋的怀俄明野兔) 2009年4月23日
9.10 Karmic Koala(幸运的考拉) 2009年10月29日
10.04 Lucid Lynx(清醒的猞猁) 2010年4月29日
11.10 Oneiric Ocelot(梦幻的豹猫) 2010年10月13日
11.04 Natty Narwhal(敏捷的独角鲸) 2011年4月28日
12.04 Precise Pangolin(精准的穿山甲) 2012年的4月26日(LTS)
12.10 Quantal Quetzal(量子的绿咬鹃) 2012年的10月20日
13.04 Raring Ringtail(铆足了劲的猫熊) 2013年4月25日
13.10 Saucy Salamander(活泼的蝾螈) 2013年10月17日
14.04 Trusty Tahr (可靠的塔尔羊) 2014年4月18日 (LTS)
14.10 Utopic Unicorn(乌托邦独角兽) 2014年10月23日
15.04 Vivid Vervet (活泼的小猴) 2015年4月
15.10 Wily Werewolf (狡猾的狼人) 2015年10月
16.04 Xenial Xerus (好客的非洲地松鼠) 2016年4月 (LTS)
16.10 Yakkety Yak(牦牛) 2016年10月
17.04 Zesty Zapus(开心的跳鼠) 2017年4月
17.10 Artful Aardvark(机灵的土豚) 2017年10月
18.04 Bionic Beaver(仿生海狸) 即将发布2018年4月(LTS)

如何检查当前版本codename

可以使用如下命令:
root@virtual-machine:/# lsb_release -a
 No LSB modules are available.
 Distributor ID: Ubuntu
 Description: Ubuntu 16.04.1 LTS
 Release: 16.04
 Codename: xenial

4、运行sudo apt-get update

附带163镜像说明:http://mirrors.163.com/.help/ubuntu.html

发表在 服务器 | 标签为 | 留下评论

docker下安装ubuntu以及ssh服务进行链接

docker像虚拟机vps一样安装玩转系统。

1、安装ubuntu系统

在docker的hub仓库中,有专门的ubuntu系统。我们直接用使用就可以了。

docker search ubuntu

2、选择要拉下了的镜像

docker pull ubuntu

这里可以很很慢,因为镜像是在国外。使用镜像加速就可以了。

在/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。如果没有文件,则新建一个。键值如下:

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

重启服务: service docker restart 。

3、下载完毕后,查看镜像:

docker images

4、运行容器

docker run --name iubuntu -t -i -d -p 3316:22 ubuntu

参数: –name 指定生成的容器的名称
-i: 以交互模式运行容器,保证容器中STDIN是开启的。通常与 -t 同时使用;
-t: 为容器重新分配一个伪tty终端,通常与 -i 同时使用;
-d: 后台运行容器,并返回容器ID;
-p:可以指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器。支持的格式有 hostPort:containerPort、ip:hostPort:containerPort、 ip::containerPort。
ubuntu 则是镜像名称,镜像ID也可以的。

5、进入容器终端安装ssh服务

docker exec -t -i [容器名orID]  /bin/bash
  • 1

安装ssh服务(默认为root权限用户):

  • 先执行更新
     apt-get update
  • 安装ssh-client命令
     apt-get install openssh-client
  • 安装ssh-server命令
     apt-get install openssh-server
  • 安装完成以后,先启动服务
     /etc/init.d/ssh start

启动后,可以通过“ps -e|grep ssh”查看是否正确启动。

 

  • 最后编辑sshd_config文件
    vim  /etc/ssh/sshd_config

    将PermitRootLogin xxxx-password 改为 PermitRootLogin yes。
    如果没有vim,先apt-get install vim。

  • 重启ssh服务
    service ssh restart
  • 设置ssh密码
    passwd root
  • 查看容器ip:
    apt-get install net-tools

    然后输入ifconfig,查看容器ip。

    6、ssh链接容器中的系统

    退出容器终端exit。
    在宿主机中,docker ps -a 命令中可以查看到容器的端口。在宿主机中,可以使用localhost进行登录,也可以使用刚才ifconfig查看的ip进行登录。

    ssh root@localhost -p 3316

    如果要从外部进行登录,就要使用宿主机的ip,端口不变。这样我们的任务就完成了。接下来,就可以自由玩耍服务器了。

    ssh root@x.x.x.x -p 3316

    x.x.x.x就是宿主机的ip地址。

    7、提交更改的镜像

    刚刚我们对容器进行了安装,可以如果删掉话。每次都要重新执行上面的操作,所以可以对镜像进行提交保存。

    docker commit  [改变了的容器的ID]  [REPOSITORY:TAG]

 

发表在 服务器 | 标签为 | 留下评论