通过df -h查看磁盘满了 ,删除文件有,空间没有被立即释放, 通过查阅相关资料,了解到被删除文件被执行rm命令时,如果有进程操作该文件,该文件不会被立马删除,而是被标记为deleted;直到操作该文件的所有进程都结束,该文件才会被删除。 delete状态下的文件不可见,使用ll命令时也看不到,但实实在在占用了磁盘空间。可以通过执行下列命令查看被标记为delete的文件清单:
lsof | grep deleted
解决办法:kill -9 PID 把进程删掉就能释放空间。
通过df -h查看磁盘满了 ,删除文件有,空间没有被立即释放, 通过查阅相关资料,了解到被删除文件被执行rm命令时,如果有进程操作该文件,该文件不会被立马删除,而是被标记为deleted;直到操作该文件的所有进程都结束,该文件才会被删除。 delete状态下的文件不可见,使用ll命令时也看不到,但实实在在占用了磁盘空间。可以通过执行下列命令查看被标记为delete的文件清单:
lsof | grep deleted
解决办法:kill -9 PID 把进程删掉就能释放空间。
Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权。
最常用的是:
Order Deny,Allow
Allow from All
PS:“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。上面设定的含义是先设定“先检查禁止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权。
按照上面的解释,下面的设定是无条件禁止访问:
Order Allow,Deny
Deny from All
如果要禁止部分内容的访问,其他的全部开放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2
apache会按照order决定最后使用哪一条规则,比如上面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow不是最后规则,因此还需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。注意,order决定的“最后”规则非常重要
下面是测试的例子:
——————————–
Order deny,allow
allow from all
deny from 219.204.253.8
#全部都可以通行
——————————-
Order deny,allow
deny from 219.204.253.8
allow from all
#全部都可以通行
——————————-
Order allow,deny
deny from 219.204.253.8
allow from all
#只有219.204.253.8不能通行
——————————-
Order allow,deny
allow from all
deny from 219.204.253.8
#只有219.204.253.8不能通行
——————————-
——————————-
Order allow,deny
deny from all
allow from 219.204.253.8
#全部都不能通行
——————————-
Order allow,deny
allow from 219.204.253.8
deny from all
#全部都不能通行
——————————-
Order deny,allow
allow from 219.204.253.8
deny from all
#只允许219.204.253.8通行
——————————-
Order deny,allow
deny from all
allow from 219.204.253.8
#只允许219.204.253.8通行
——————————-
——————————–
Order deny,allow
#全部都可以通行(默认的)
——————————-
Order allow,deny
#全部都不能通行(默认的)
——————————-
Order allow,deny
deny from all
#全部都不能通行
——————————-
Order deny,allow
deny from all
#全部都不能通行
——————————-
对于上面两种情况,如果换成allow from all,则全部都可以通行!
——————————-
Order deny,allow
deny from 219.204.253.8
#只有219.204.253.8不能通行
——————————-
Order allow,deny
deny from 219.204.253.8
#全部都不能通行
——————————-
Order allow,deny
allow from 219.204.253.8
#只允许219.204.253.8通行
——————————-
Order deny,allow
allow from 219.204.253.8
#全部都可以通行
——————————-
——————————-
order deny,allow
allow from 218.20.253.2
deny from 218.20
#代表拒绝218.20开头的IP,但允许218.20.253.2通过;而其它非218.20开头的IP也都允许通过。
——————————-
order allow,deny
allow from 218.20.253.2
deny from 218.20
#和上面的差不多,只是掉换的order语句中的allow、deny先后顺序,但最终结果表示全部都拒绝!
总结:
影响最终判断结果的只有两点:
1. order语句中allow、deny的先后顺序;
2. allow、deny语句中各自包含的范围。
判断原则分4步
1. 首先判断默认的;
2. 然后判断逗号前的;
3. 最后判断逗号后的;
4. 最终按顺序叠加而得出判断结果。
Centos 安装 NodeJS
准备命令
yum -y install gcc make gcc-c++ openssl-devel wget
下载源码
wget http://nodejs.org/dist/v0.12.0/node-v0.12.0-linux-x64.tar.gz
tar -zvxf node-v0.12.0-linux-x64.tar.gz
编译及安装:
make && make install
验证是否安装配置成功:
node -v
客户端:
#ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hisway/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/hisway/.ssh/id_rsa.
Your public key has been saved in /Users/hisway/.ssh/id_rsa.pub.
The key fingerprint is:
0d:24:c6:8d:f0:d9:b2:01:08:67:89:8a:5f:20:8e:b7 hisway@hisway.lan
The key’s randomart image is:
+–[ RSA 2048]—-+
|.ooooooo. |
|oo+ +o=. |
|=. . = o |
|+.. . + o |
| o o . S . |
| E |
| |
| |
| |
+—————–+
#scp /Users/hisway/.ssh/id_rsa.pub root@162.243.*.*:/home/root/id_rsa.pub
服务端:
#cat id_rsa.pub >>/root/.ssh/authorized_keys
# vi /etc/ssh/sshd_config
RSAAuthentication yes
#RSA认证
PubkeyAuthentication yes
#开启公钥验证
AuthorizedKeysFile .ssh/authorized_keys
#验证文件路径
PasswordAuthentication no
#禁止密码认证
PermitEmptyPasswords no
#禁止空密码
UsePAM no
#禁用PAM
最后保存,重启
#
service sshd restart
网购星期一剁手的六块钱ssl证书一直放着没动,今天有空去激活了,给9块钱的curl.xyz域名加上了https,囧~
PositiveSSL认证是Comodo的入门级产品,PositiveSSL只对你的域名所有权进行认证,PositiveSSL已经被几乎所有流行的浏览器支持,只要你的PositiveSSL认证正常,用浏览器打开你提供的https网页就像普通的http网页一样,浏览器不会弹出安全警告。
ox01
在帐户的ssl列表中选择未曾使用过的SSL认证服务,点击右边的Active链接,开始申请激活你的SSL认证,接下来我们要发送一个认证签名请求文件给namecheap来完成激活过程,通常情况下,选择apache+openssl类型的签名即可,如果网络服务器不是apache或者apache兼容的服务器,可以在列表里面选择适合的认证类型。
ox02
ssh 到域名所在的服务器,Namecheap SSL要求是生成2048位的密钥文件:
openssl genrsa -out privkey.key 2048
生成证书请求文件:
openssl req -new -key privkey.key -out cert.csr
执行以上命令后,会要求你填写基本信息,例如国家、邮箱等。其中有个需要特别注意到地方是Common Name,必须填写你的域名,而且不能有大写字母,否则认证申请会失败。另外在制作CSR文件和私钥的时候,会有一步询问你私钥的密码,可以不输入。
用命令:cat cert.csr和cat privkey.key 能看到刚刚生成的CSR和Key文件内容了。其中SCR文件内容就是我们刚刚要激活SSL证书要用到的。
ox03
把这个csr文件的内容复制到Namecheap刚才申请时页面上的文本输入框里面,并且点击next,进行下一步。
接下来要求你提供一个能表明你是域名所有者的邮箱来进行验证,你可以从他提供的选项中选择一个,确保你的邮箱可以正常接收邮件。选择一个邮箱后,点击next,你的申请就算提交了,下面需要等授权公司Comodo来验证你是域名所有者身份。
收到邮件后点击邮箱里面的 here 链接,并且输入下面的验证码,提交给Comodo即可。接着继续等,comodo会将生成的ssl证书文件发送给你。
ox04
将自己Key文件,外加刚刚收到的.crt,共两个文件一同上传到VPS主机的某一个文件夹当中。编辑Nginx配置文件,在Server中主要是添加以下代码:
listen 443;
ssl on;
ssl_certificate /root/curl_xyz.crt;
ssl_certificate_key /root/privkey.key;
ssl_session_timeout 5m;
重启Nginx完成。
Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用。可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员,成员可以在自己的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行。
安装步骤1. 安装 VirtualBox
虚拟机还是得依靠 VirtualBox 来搭建,免费小巧。
下载地址:https://www.virtualbox.org/wiki/Downloads
2. 安装 Vagrant
下载地址:http://downloads.vagrantup.com/ 根据提示一步步安装。
此外,还得下载官方封装好的基础镜像:
Ubuntu precise 32 VirtualBox http://files.vagrantup.com/precise32.box
Ubuntu precise 64 VirtualBox http://files.vagrantup.com/precise64.box
其他系统的镜像下载:http://www.vagrantbox.es/
3. 添加镜像到 Vagrant
假设我们下载的镜像存放路径是 ~/box/precise64.box
,在终端里输入:
$ vagrant box add ubuntu64 ~/box/precise64.box
ubuntu64 是我们给这个 box 命的名字,~/box/precise64.box
是 box 所在路径
4. 初始化开发环境
创建一个开发目录(比如:~/dev
),你也可以使用已有的目录,切换到开发目录里,用 ubuntu64 镜像初始化当前目录的环境:
$ cd ~/dev # 切换目录
$ vagrant init ubuntu64 # 初始化
$ vagrant up # 启动环境
你会看到终端显示了启动过程,启动完成后,我们就可以用 SSH 登录虚拟机了,剩下的步骤就是在虚拟机里配置你要运行的各种环境和参数了。
$ vagrant ssh # SSH 登录
$ cd /vagrant # 切换到开发目录,也就是宿主机上的 `~/dev`
~/dev
目录对应虚拟机中的目录是 /vagrant
5. 其他设置
Vagrant 初始化成功后,会在初始化的目录里生成一个 Vagrantfile
的配置文件,可以修改配置文件进行个性化的定制。
Vagrant 默认是使用端口映射方式将虚拟机的端口映射本地从而实现类似 http://localhost:80
这种访问方式,这种方式比较麻烦,新开和修改端口的时候都得编辑。相比较而言,host-only 模式显得方便多了。打开 Vagrantfile
,将下面这行的注释去掉(移除 #
)并保存:
config.vm.network :private_network, ip: “192.168.33.10”
重启虚拟机,这样我们就能用 192.168.33.10
访问这台机器了,你可以把 IP 改成其他地址,只要不产生冲突就行。
6. 打包分发
当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包:
$ vagrant package
打包完成后会在当前目录生成一个 package.box
的文件,将这个文件传给其他用户,其他用户只要添加这个 box 并用其初始化自己的开发目录就能得到一个一模一样的开发环境了。
7. 常用命令
$ vagrant init # 初始化
$ vagrant up # 启动虚拟机
$ vagrant halt # 关闭虚拟机
$ vagrant reload # 重启虚拟机
$ vagrant ssh # SSH 至虚拟机
$ vagrant status # 查看虚拟机运行状态
$ vagrant destroy # 销毁当前虚拟机
更多内容请查阅官方文档 http://docs.vagrantup.com/v2/cli/index.html
8. 注意事项
使用 Apache/Nginx 时会出现诸如图片修改后但页面刷新仍然是旧文件的情况,是由于静态文件缓存造成的。需要对虚拟机里的 Apache/Nginx 配置文件进行修改:
# Apache 配置添加:
EnableSendfile off
# Nginx 配置添加:
sendfile off;
一. Crontab 介绍
crontab命令的功能是在一定的时间间隔调度一些命令的执行。
1.1 /etc/crontab 文件
在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。
如: (更多…)