分类 技术 下的文章

新服务器之-vncserver搭建

用vncserver最主要的是使用图形化界面,如果只要命令行的话,ssh过去就可以了。
服务器的配置一般不是很高,建议使用轻量级的桌面环境。
我个人使用的是xfce。
先安装xfce用以下命令:sudo apt-get install xfce4-desktop

接下来安装vncserver。vncserver的安装非常简单
sudo apt-get install vnc4server
即可。

安装之后还需要进行简单的配置,例如登录密码和连接之后运行xfce。
第一次运行vncserver的时候,它会要求你设置密码。
如果你忘记密码了,可以用vncpasswd命令重置。
要在连接vnc的时候运行xfce,则需要在~/.vnc/xstartup文件中增加

xfce4-session &
startxfce4 &

这两行。

保存之后,在命令行中输入vncserver即可开启vnc服务器端程序。
如果需要关闭,则敲vncserver -kill :1。其中,数字1为会话id。默认的会话id为1。
如果你开了多个vncserver,那么以上命令中的1也需要更改为你要关闭的会话id。

现在我们使用vnc viewer连接服务器就可以了。
输入地址的时候,要在地址后面加会话id。
例如,默认的会话id为1,则连接时候输入192.168.0.10:1

你第一次登录之后,可能看不到开始菜单。
此时在xstartup中添加xfce4-panel &,再重启vncserver即可。

Laravel中,多个项目共享session

现有多个laravel项目,需要在切换项目的时候,做到保留用户的登录信息。
也就是说,用户使用另外一个项目的时候,不需要重新登录,而是使用原来的登录态。

其实很简单,只需要两个项目在同一域名下,cookie名也相同即可。

设置cookie名可以在config/session.php中,'cookie'=>'token'(例如设为token)。

当然了在.env中,APP_KEY也一样才可以。
否则,需要在app\Http\Kernel.php中注释\App\Http\Middleware\EncryptCookies::class这一行。
因为cookie的加密会用到APP_KEY。

Lumen中路由不支持可选参数

在Lumen所使用的FastRoute中,对可选参数提供了支持。
例如/user/1来查看用户id为1的用户信息,/user来查看自己(已登录)的用户信息。
此时路由/user后面的/1是可以省略的。
用FastRoute写规则就是/user[/{id}]

但是在Lumen中并不支持这种写法。
需要分开写两条路由:
/user/user/{id}

特此记录

配置服务器发送email

最近搭了好几个系统在服务器上,其中都用到了发送注册邮件的功能。
但是我没配置过email,所以一直没发送出去。
为了以后装系统能正常发送邮件,现在把安装过程记录下来,以便以后换服务器时又得去找文档配置。

根据DigitalOcean上的回答,敲sendemailconfig开始配置。
但提示我没安装,要我安装sendmail-base
那我们装一下吧。
sudo apt-get install sendmail-base
然后再敲sendemailconfig,问了一堆问题,我都完全不知道怎么搞,反正一路next了。

然后尝试发送邮件给自己

sendmail skys215(at)gmail.com

却提示我sendmail-bin没装。尴尬……或许我装错了?
装了sendmail-bin之后,提示各种错误……

Vagrant离线升级box

今天vagrant box update的时候,它提示box有新版本可用。

$ vagrant up httpd1
Bringing machine 'httpd1' up with 'virtualbox' provider...
==> httpd1: Checking if box 'ubuntu/trusty64' is up to date...
==> httpd1: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> httpd1: have version '20160519.0.2'. The latest is version '20160602.0.0'. Run
==> httpd1: `vagrant box update` to update.
==> httpd1: VirtualBox VM is already running.

(好吧,现在才发现最后一句already running,不升级也可以照样用)

$ vagrant box update
==> httpd1: Checking for updates to 'ubuntu/trusty64'
    httpd1: Latest installed version: 20160519.0.2
    httpd1: Version constraints:
    httpd1: Provider: virtualbox
==> httpd1: Updating 'ubuntu/trusty64' with provider 'virtualbox' from version
==> httpd1: '20160519.0.2' to '20160602.0.0'...
==> httpd1: Loading metadata for box 'http://plamenatv.free.bg/up.html
==> httpd1: Adding box 'ubuntu/trusty64' (v20160602.0.0) for provider: virtualbox
    httpd1: Downloading: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20160602.0.0/providers/virtualbox.box
    httpd1: Progress: 2% (Rate: 70026/s, Estimated time remaining: 3:18:32)

但是下载速度奇慢。

于是我就用迅雷下载这个文件了。
.box文件可以解压出来。

把文件解压到~/.vagrant.d/boxes/20160602.0.0/virtualbox下面,再运行vagrant box update就识别了。
注意20160602.0这个名字需要与vagrant在前面列出的一致。