修改/dev/shm的大小
Unix/LinuxC技术 jackxiang 2014-6-14 15:12
背景:
root@119.10.*.23:/dev/shm# df -hT
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda3 ext4 14G 5.4G 7.3G 43% /
tmpfs tmpfs 2.9G 0 2.9G 0% /dev/shm
/dev/sda1 ext4 504M 43M 436M 9% /boot
/dev/sdb ext4 94G 284M 89G 1% /data
vi /etc/fstab
tmpfs /dev/shm tmpfs defaults 0 0
——————————————文章学习——————————————
修改/etc/fstab的这行: 默认的:
none /dev/shm tmpfs defaults 0 0
改成:
none /dev/shm tmpfs defaults,size=1024M 0 0
size参数也可以用G作单位:size=1G。
重新mount /dev/shm使之生效:
# mount -o remount /dev/shm
马上可以用"df -h"命令检查变化。
阅读全文
root@119.10.*.23:/dev/shm# df -hT
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda3 ext4 14G 5.4G 7.3G 43% /
tmpfs tmpfs 2.9G 0 2.9G 0% /dev/shm
/dev/sda1 ext4 504M 43M 436M 9% /boot
/dev/sdb ext4 94G 284M 89G 1% /data
vi /etc/fstab
tmpfs /dev/shm tmpfs defaults 0 0
——————————————文章学习——————————————
修改/etc/fstab的这行: 默认的:
none /dev/shm tmpfs defaults 0 0
改成:
none /dev/shm tmpfs defaults,size=1024M 0 0
size参数也可以用G作单位:size=1G。
重新mount /dev/shm使之生效:
# mount -o remount /dev/shm
马上可以用"df -h"命令检查变化。
阅读全文
正确计算linux系统内存使用率,Linux对大内存在长时间运行依旧有吃光的感觉的解释。
Unix/LinuxC技术 jackxiang 2014-6-12 11:47
背景:我最近买了一vps 5G内存,发现其内存刚开始还我很多剩余,逐渐发现内存越来越少,最近备案就开lnmp套件也没开几个进程呀。
[root@ZWCLC6X-7198 ~]# uptime
11:20:48 up 6 days, 37 min, 1 user, load average: 0.00, 0.00, 0.00
阅读全文
[root@ZWCLC6X-7198 ~]# uptime
11:20:48 up 6 days, 37 min, 1 user, load average: 0.00, 0.00, 0.00
阅读全文
[实践OK]svn: Can't convert string from 'UTF-8' to native encoding 的解决办法
Unix/LinuxC技术 jackxiang 2014-6-11 18:08
页面构建时有中文名:
你里面是不是有中文文件名,出现:svn: Can't convert string from native encoding to 'UTF-8':
svn: ?\229?\143?\130?\228?\184?\142?\230?\180?\187?\229?\138?\168?\231?\172?\172?\228?\184?\137?\230?\173?\165-?\229?\143?\130?\228?\184?\142?\230?\136?\144?\229?\138?\159.html
实践OK如下:
于是在shell刚开始加入三行,如下:
#! #/bin/sh
export LC_CTYPE="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
[root@test ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=为空,我在上面给全设置了:-)
这样设置后,如下:
export LC_CTYPE="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
好了:
跳过“set-depth=exclude”
跳过“data”
于修订版 1444。
跳过“set-depth=exclude”
跳过“data”
————————————————————————————————————————————————————————————————
svn 版本库中有文件是以中文字符命名的,在 Linux 下 checkout 会报错:
svn: Can't convert string from 'UTF-8' to native encoding
然后 checkout 程序就退出了!
解决办法很简单,正确设置当前系统的 locale:
export LC_CTYPE="zh_CN.UTF-8"
然后重新 checkout 即可。
注意,根据你的系统字符集设置变量,如果 zh_CN.UTF-8 不行,有可能要改成 GB2312:
export LC_CTYPE="zh_CN.GB2312"
另外,看别人的帖子,有的变量名不同,用的是:
export LANG="zh_CN.UTF-8"
来自:
http://www.toplee.com/blog/566.html
http://svnbook.red-bean.com/en/1.2/svn.advanced.l10n.html
——————————————————————————————————————
方法一:只需要修改bash_profile文件就可以,添加下面几行:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
然后source一下:
. ~/.bashrc
这时候,再重新进行SVN操作就会再报svn: Can't convert string from 'UTF-8' to native encoding:的错误了。
方法二:另一种解决办法
解决办法很简单,正确设置当前系统的 locale:
export LC_CTYPE=“zh_CN.UTF-8″
然后重新 checkout 即可。
摘自:http://www.111cn.net/sys/linux/60107.htm
你里面是不是有中文文件名,出现:svn: Can't convert string from native encoding to 'UTF-8':
svn: ?\229?\143?\130?\228?\184?\142?\230?\180?\187?\229?\138?\168?\231?\172?\172?\228?\184?\137?\230?\173?\165-?\229?\143?\130?\228?\184?\142?\230?\136?\144?\229?\138?\159.html
实践OK如下:
于是在shell刚开始加入三行,如下:
#! #/bin/sh
export LC_CTYPE="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
[root@test ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=为空,我在上面给全设置了:-)
这样设置后,如下:
export LC_CTYPE="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
好了:
跳过“set-depth=exclude”
跳过“data”
于修订版 1444。
跳过“set-depth=exclude”
跳过“data”
————————————————————————————————————————————————————————————————
svn 版本库中有文件是以中文字符命名的,在 Linux 下 checkout 会报错:
svn: Can't convert string from 'UTF-8' to native encoding
然后 checkout 程序就退出了!
解决办法很简单,正确设置当前系统的 locale:
export LC_CTYPE="zh_CN.UTF-8"
然后重新 checkout 即可。
注意,根据你的系统字符集设置变量,如果 zh_CN.UTF-8 不行,有可能要改成 GB2312:
export LC_CTYPE="zh_CN.GB2312"
另外,看别人的帖子,有的变量名不同,用的是:
export LANG="zh_CN.UTF-8"
来自:
http://www.toplee.com/blog/566.html
http://svnbook.red-bean.com/en/1.2/svn.advanced.l10n.html
——————————————————————————————————————
方法一:只需要修改bash_profile文件就可以,添加下面几行:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
然后source一下:
. ~/.bashrc
这时候,再重新进行SVN操作就会再报svn: Can't convert string from 'UTF-8' to native encoding:的错误了。
方法二:另一种解决办法
解决办法很简单,正确设置当前系统的 locale:
export LC_CTYPE=“zh_CN.UTF-8″
然后重新 checkout 即可。
摘自:http://www.111cn.net/sys/linux/60107.htm
CentOS6.4下创建本地yum源,挂载ISO后直接mount上后从里面安装任意rpm包。
Unix/LinuxC技术 jackxiang 2014-6-11 13:04
[创建本地yum源]
挂载iso文件
mount -o loop -t iso9660 CentOS-6.3-x86_64-bin-DVD1.iso /mnt
设置本地yum源
在/etc/yum.repos.d/创建 “任意文件名.repo" 文件
vi 刚才新建的文件名编辑
【localyum】任意名称 ,不能有空格。
name= local yum 任意名称
baseurl=file:////mnt/Packages 这个路径是自定的。Server为光盘中的Server目录 ,Packages与Server放在同一目录下。即/software目录下
enabled=1 代表 生效 0为不生效
gpgcheck=1 检查gpgkey 1 生效 0不生效
gpgkey=file:///software 安装光盘里有这个文件 不指定 安装时,可能提示没有注册
保存退出
执行命令 yum clean all
摘自:http://www.server110.com/kvm/201310/2721.html
挂载iso文件
mount -o loop -t iso9660 CentOS-6.3-x86_64-bin-DVD1.iso /mnt
设置本地yum源
在/etc/yum.repos.d/创建 “任意文件名.repo" 文件
vi 刚才新建的文件名编辑
【localyum】任意名称 ,不能有空格。
name= local yum 任意名称
baseurl=file:////mnt/Packages 这个路径是自定的。Server为光盘中的Server目录 ,Packages与Server放在同一目录下。即/software目录下
enabled=1 代表 生效 0为不生效
gpgcheck=1 检查gpgkey 1 生效 0不生效
gpgkey=file:///software 安装光盘里有这个文件 不指定 安装时,可能提示没有注册
保存退出
执行命令 yum clean all
摘自:http://www.server110.com/kvm/201310/2721.html
[版本控制]Linux下的svn命令行和Windows下中解决冲突有关问题步骤,命令行删除svn里版本中的文件等操作备案。
Unix/LinuxC技术 jackxiang 2014-6-10 18:54
背景:经常用Windows的小乌龟提交东西习惯了后,发现Linux下修改一个文件后,再sz下来,再用那个小乌龟太麻烦,直接svn ci得了,但发出冲突,如何解决冲突是一个关键,于是此篇博文产生了,来自网上。
[版本控制]Linux下的svn命令行和Windows下中解决冲突有关问题步骤。
一、Linux下:svn命令行中解决冲突问题
如果不小心提交了一些动态改变根本不需要的文件到svn服务器上,出现冲突如何解决,基本思路是首先使用svn resolved filename 放弃对文件的修改,然后就可以提交上去了。然后svn rm test.log删除掉这个文件。然后再次提交,如果其他人更新的也同样处理。
1.svn ci -m "update"
svn: Commit failed (details follow):
svn: Aborting commit: 'test.log' remains in conflict
2.使用svn resolved test.log
3.svn ci -m "update"
这个时候应该可以提交了
4.svn rm test.log
删除掉这个文件
5.svn ci -m "update"
再次提交
这个时候服务器上就没有这个文件了。
在其他的服务器终端上如果遇到这个问题的时候重复这个操作。
http://www.myexception.cn/cvs-svn/486458.html
二、Windows下:svn更新报错 remains in tree-conflict
今天做项目,svn报错
xx remains in tree-conflict
更新可以,commit 不行.网上找到解决方法
右击冲突的文件或文件夹(一般上面有个感叹号)选择Edit TreeConflicts
有2个按钮(全英文的)
keep the directory from the reostitroy和Mark the conflict as resovled(我是点选这个就好了).
希望对大家有帮助,谢谢.
http://jfbcb.com/article/detail/54
[版本控制]Linux下的svn命令行和Windows下中解决冲突有关问题步骤。
一、Linux下:svn命令行中解决冲突问题
如果不小心提交了一些动态改变根本不需要的文件到svn服务器上,出现冲突如何解决,基本思路是首先使用svn resolved filename 放弃对文件的修改,然后就可以提交上去了。然后svn rm test.log删除掉这个文件。然后再次提交,如果其他人更新的也同样处理。
1.svn ci -m "update"
svn: Commit failed (details follow):
svn: Aborting commit: 'test.log' remains in conflict
2.使用svn resolved test.log
3.svn ci -m "update"
这个时候应该可以提交了
4.svn rm test.log
删除掉这个文件
5.svn ci -m "update"
再次提交
这个时候服务器上就没有这个文件了。
在其他的服务器终端上如果遇到这个问题的时候重复这个操作。
http://www.myexception.cn/cvs-svn/486458.html
二、Windows下:svn更新报错 remains in tree-conflict
今天做项目,svn报错
xx remains in tree-conflict
更新可以,commit 不行.网上找到解决方法
右击冲突的文件或文件夹(一般上面有个感叹号)选择Edit TreeConflicts
有2个按钮(全英文的)
keep the directory from the reostitroy和Mark the conflict as resovled(我是点选这个就好了).
希望对大家有帮助,谢谢.
http://jfbcb.com/article/detail/54
如何让c编译器是c99标准: gcc mallocPointerTest.c --std=c99,错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现,???"在 C99 模式之外使用 ‘for’ 循环初始化声明"。
Unix/LinuxC技术 jackxiang 2014-5-26 21:02
如何让c编译器是c99标准: gcc mallocPointerTest.c --std=c99
错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现,???
mallocPointerTest.c:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
mallocPointerTest.c:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
__________________________________________________________
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
追问
所有你应该这样改
int i;
for(i=0;;);
为什么,
如何让c编译器是c99标准:
gcc mallocPointerTest.c --std=c99
来自:http://bbs.chinaunix.net/thread-803643-1-1.html
http://blog.163.com/zhaoxiaosen_2008@126/blog/static/105797239201344517767/
错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现,???
mallocPointerTest.c:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
mallocPointerTest.c:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
__________________________________________________________
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
追问
所有你应该这样改
int i;
for(i=0;;);
为什么,
如何让c编译器是c99标准:
gcc mallocPointerTest.c --std=c99
来自:http://bbs.chinaunix.net/thread-803643-1-1.html
http://blog.163.com/zhaoxiaosen_2008@126/blog/static/105797239201344517767/
VPS服务器使用必须注意的七大事项,VPS服务器使用注意事项(windows版),linux下使用ssh管理VPS的注意事项小结。
Unix/LinuxC技术 jackxiang 2014-5-25 18:23
VPS服务器使用必须注意的七大事项
<1>.强烈的建议您在使用VPS的时候也和使用自己的系统一样,养成文件分类管理的习惯.
<2>.勤备份数据,强烈建议您每周进行至少两次的备份.
<3>.如果在不知道具体作用的情况下,请不要任意卸载天下数据预安装的程序,否则可能造成您的VPS服务器不能正常使用和管理.
<4>.客户自己的数据,请全部放置在D磁盘内,不要放置在C盘根目录或者直接放置在桌面上.尤其是站点程序文件和数据库文件等比较重要的数据.
<5>.请不要在VPS服务器上面放置具有攻击性和黑客性质的程序,以免造后面程序的漏洞或者不可预知的故障给你带来不可修复的后果.
<6>.天下数据强烈建议不要在VPS服务器内浏览WEB页面.
<7>天下数据强烈建议管理VPS的人员进行专人管理,并且做好文件操作日志记录,系统设置记录等,方便可以及时的为客户解决问题.
来自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73c6f968d4c68d4e419cf791d1b0731b0ed30226604d7c77e6304b8492ae9e73604341420c0c18ed714c9fecf6879876376310b873105a31cb8bf3132b057872eeab81897ad813684dad7c4de2444bb20120a8be7fd5b1765cb78f1642695a38e3b154866bafa4765e858073eee5057c747ee91467970f6e1dd2d18837d873150c1&p=8b2a9715d9c340a90cabd027174f90&newp=882a9544d09502e40be296224f4d9e231610db2151d6d2132997d8&user=baidu&fm=sc&query=vps%B7%FE%CE%F1%C6%F7%CA%B9%D3%C3%D7%A2%D2%E2%CA%C2%CF%EE+FreeBSD&qid=&p1=11
——————————VPS服务器使用注意事项(windows版)———————————
1.打开远程桌面登陆器:
开始-----运行-----mstsc
或者 开始——所以程序——附近——远程桌面连接
2. 造成帐户卡死的情况分为多种.
第一种.客户端同时登陆,造成帐户卡死.
第二种,某一帐户在运行某些程序的中途退出远程
第三种.某些单用户限制程序被同一系统管理员同时运行.
3. 不要安装第三方防火墙
如果您需要防火墙,请使用windows自带的防火墙功能,在VPS里安装第三方防火墙会 造成VPS系统崩溃和数据丢失系统会自动获取最新windows补丁并自动进行安装,无需人工干预,在VPS里安装系统补丁,严重时会导致VPS系统崩溃和数据丢失
不要修改远程桌面连接端口
由于VPS系统的特殊性,默认远程桌面端口为3389,不可随意更改,否则会无法进行远程连接
4.除了某些程序必须在用户登陆的情况下运行的情况外, 建议退出远程连接时注销用户, 能节省内存资源, 并防止下次登陆出现超出最大连接数的情况. 如果出现超出最大连接数的情况, 可以重起VPS.
5.VPS交付使用时已经做了相关的安全设置, 安全性比较高, 建议不要随便开启防火墙, 如果自己开启防火墙, 也一定要打开以下必要端口:21(FTP), 3389(远程连接), 80(网站http),3306(MySQL),1433(SQL Server). 定时检查是否有可疑账号和系统日志, 发现可疑文件和进程可以下载360安全卫士进行检查. 注意网站文件夹的权限设置, 由于VPS被入侵导致资料被删除, 后果自行负责.
6.尽量不要手动修改注册表, 以免VPS启动不了. 修改远程端口务必先在防火墙中添加修改后的端口, 再进行重起. 万一出现远程连接端口被防火墙屏蔽, 请及时联系我们.
7.修改IIS的配置文件, 务必先把文件备份, 然后用能保留文件格式的软件修改, 防止配置文件格式被破坏导致IIS无法使用.
8.VPS的网站服务和IIS的FTP服务默认是手动开启的, 如果是站长请把服务中的最后一个即World Wide Web Publishing Service设置成自动, 如果需要经常使用IIS的FTP服务请把FTP Publishing Service服务设成自动, 即能实现开机自动启动. 如果用的是serv-u, 把设成系统服务的选项钩上即可. 从安全性和资源消耗方面来说, 建议不经常使用FTP的用户不要设成自动
来自:http://www.idcbest.com/help/html/zhujizuyongtuoguan/299.html
———————linux下使用ssh管理VPS的注意事项小结:———————
笔者采用key文件交互登录的方式连接ssh。因此,第一步要生成ssh的key文件。
1、ssh-keygen
2、接着,将服务器上的密钥、公钥下载下来。保存在当前用户的.ssh文件夹下。
这里需要注意的问题是一定两个都要下载,只下载密钥,会提示需要公钥。putty貌似米有这个问题,直接下载密钥然后转换一下就可以了。
ssh的登录问题解决完毕,紧接着 ,新的问题又来了;由于笔者在公司通过内网HTTP代理方式上网。貌似代理无法直接在ssh上使用。笔者在查阅资料后发现。ssh需要经过tunnel(隧道)来使用HTTP代理(或者还有其他好方法?笔者还不知道=_=!,各位网友不吝赐教)。
1、下载一个tunnel软件,如 corkscrew 下载地址 解压后,编译
tar zxf corkscrew-2.0.tar.gz
cd corkscrew-2.0
./configure
make && make install
2、修改ssh配置
vi /etc/ssh/ssh_config
添加
Host *
ProxyCommand corkscrew server port %h %p
保存后,可以直接使用ssh登录了^_^
来自:http://www.51res.net/html/2003/0402/25969.html
<1>.强烈的建议您在使用VPS的时候也和使用自己的系统一样,养成文件分类管理的习惯.
<2>.勤备份数据,强烈建议您每周进行至少两次的备份.
<3>.如果在不知道具体作用的情况下,请不要任意卸载天下数据预安装的程序,否则可能造成您的VPS服务器不能正常使用和管理.
<4>.客户自己的数据,请全部放置在D磁盘内,不要放置在C盘根目录或者直接放置在桌面上.尤其是站点程序文件和数据库文件等比较重要的数据.
<5>.请不要在VPS服务器上面放置具有攻击性和黑客性质的程序,以免造后面程序的漏洞或者不可预知的故障给你带来不可修复的后果.
<6>.天下数据强烈建议不要在VPS服务器内浏览WEB页面.
<7>天下数据强烈建议管理VPS的人员进行专人管理,并且做好文件操作日志记录,系统设置记录等,方便可以及时的为客户解决问题.
来自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73c6f968d4c68d4e419cf791d1b0731b0ed30226604d7c77e6304b8492ae9e73604341420c0c18ed714c9fecf6879876376310b873105a31cb8bf3132b057872eeab81897ad813684dad7c4de2444bb20120a8be7fd5b1765cb78f1642695a38e3b154866bafa4765e858073eee5057c747ee91467970f6e1dd2d18837d873150c1&p=8b2a9715d9c340a90cabd027174f90&newp=882a9544d09502e40be296224f4d9e231610db2151d6d2132997d8&user=baidu&fm=sc&query=vps%B7%FE%CE%F1%C6%F7%CA%B9%D3%C3%D7%A2%D2%E2%CA%C2%CF%EE+FreeBSD&qid=&p1=11
——————————VPS服务器使用注意事项(windows版)———————————
1.打开远程桌面登陆器:
开始-----运行-----mstsc
或者 开始——所以程序——附近——远程桌面连接
2. 造成帐户卡死的情况分为多种.
第一种.客户端同时登陆,造成帐户卡死.
第二种,某一帐户在运行某些程序的中途退出远程
第三种.某些单用户限制程序被同一系统管理员同时运行.
3. 不要安装第三方防火墙
如果您需要防火墙,请使用windows自带的防火墙功能,在VPS里安装第三方防火墙会 造成VPS系统崩溃和数据丢失系统会自动获取最新windows补丁并自动进行安装,无需人工干预,在VPS里安装系统补丁,严重时会导致VPS系统崩溃和数据丢失
不要修改远程桌面连接端口
由于VPS系统的特殊性,默认远程桌面端口为3389,不可随意更改,否则会无法进行远程连接
4.除了某些程序必须在用户登陆的情况下运行的情况外, 建议退出远程连接时注销用户, 能节省内存资源, 并防止下次登陆出现超出最大连接数的情况. 如果出现超出最大连接数的情况, 可以重起VPS.
5.VPS交付使用时已经做了相关的安全设置, 安全性比较高, 建议不要随便开启防火墙, 如果自己开启防火墙, 也一定要打开以下必要端口:21(FTP), 3389(远程连接), 80(网站http),3306(MySQL),1433(SQL Server). 定时检查是否有可疑账号和系统日志, 发现可疑文件和进程可以下载360安全卫士进行检查. 注意网站文件夹的权限设置, 由于VPS被入侵导致资料被删除, 后果自行负责.
6.尽量不要手动修改注册表, 以免VPS启动不了. 修改远程端口务必先在防火墙中添加修改后的端口, 再进行重起. 万一出现远程连接端口被防火墙屏蔽, 请及时联系我们.
7.修改IIS的配置文件, 务必先把文件备份, 然后用能保留文件格式的软件修改, 防止配置文件格式被破坏导致IIS无法使用.
8.VPS的网站服务和IIS的FTP服务默认是手动开启的, 如果是站长请把服务中的最后一个即World Wide Web Publishing Service设置成自动, 如果需要经常使用IIS的FTP服务请把FTP Publishing Service服务设成自动, 即能实现开机自动启动. 如果用的是serv-u, 把设成系统服务的选项钩上即可. 从安全性和资源消耗方面来说, 建议不经常使用FTP的用户不要设成自动
来自:http://www.idcbest.com/help/html/zhujizuyongtuoguan/299.html
———————linux下使用ssh管理VPS的注意事项小结:———————
笔者采用key文件交互登录的方式连接ssh。因此,第一步要生成ssh的key文件。
1、ssh-keygen
2、接着,将服务器上的密钥、公钥下载下来。保存在当前用户的.ssh文件夹下。
这里需要注意的问题是一定两个都要下载,只下载密钥,会提示需要公钥。putty貌似米有这个问题,直接下载密钥然后转换一下就可以了。
ssh的登录问题解决完毕,紧接着 ,新的问题又来了;由于笔者在公司通过内网HTTP代理方式上网。貌似代理无法直接在ssh上使用。笔者在查阅资料后发现。ssh需要经过tunnel(隧道)来使用HTTP代理(或者还有其他好方法?笔者还不知道=_=!,各位网友不吝赐教)。
1、下载一个tunnel软件,如 corkscrew 下载地址 解压后,编译
tar zxf corkscrew-2.0.tar.gz
cd corkscrew-2.0
./configure
make && make install
2、修改ssh配置
vi /etc/ssh/ssh_config
添加
Host *
ProxyCommand corkscrew server port %h %p
保存后,可以直接使用ssh登录了^_^
来自:http://www.51res.net/html/2003/0402/25969.html
FreeBSD 10.0 正式版发布!在 FreeBSD 10.0 上安装和配置 Nginx+PHP+APC+MySQL
Unix/LinuxC技术 jackxiang 2014-5-25 17:45
经过 5 个 RC 版本后,FreeBSD 10.0 正式版终于发布了!!!
下载地址:http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.0/
在 FreeBSD 10.0 上安装和配置 Nginx+PHP+APC+MySQL:
http://www.tuicool.com/articles/M7RvMzi
FreeBSD 10 + Nginx 1.4.4 + PHP 5.5.9 + MySQL 5.6.15
How to Install Nginx and PHP-FPM on FreeBSD 10
:
http://netkiller.github.io/journal/freebsd.php.html
FreeBSD官网:
http://www.freebsd.org/
FreeBSD 10下载地址:
下载地址:http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.0/
下载地址:http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.0/
在 FreeBSD 10.0 上安装和配置 Nginx+PHP+APC+MySQL:
http://www.tuicool.com/articles/M7RvMzi
FreeBSD 10 + Nginx 1.4.4 + PHP 5.5.9 + MySQL 5.6.15
How to Install Nginx and PHP-FPM on FreeBSD 10
:
http://netkiller.github.io/journal/freebsd.php.html
FreeBSD官网:
http://www.freebsd.org/
FreeBSD 10下载地址:
下载地址:http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.0/
[实践OK]只查看软链接之如何在Linux下面让find命令在软链接的目录里查找?如何查找软链接。
Unix/LinuxC技术 jackxiang 2014-5-19 15:58
背景:一些日志目录做一些软链接到某些位置方便查看,但同时有个问题是目录多了,不知有多少个软链接。
找到文件夹下所有的软链接
一、查到所有软连接的目录的Command,实践Ok:
二、查找目录下的软链接文件:
find -L . -name "*.sql"
三、查找软链接目录里的某文件:
估计需要结合一,后再查找。
来自:http://bbs.chinaunix.net/thread-4057023-1-1.html
问题:
stat-x filename.txt中有Links: 1
文件的硬链接数,表示有多少个文件名指向该 inode。这里表示只有一个文件名指向该文件。
有没有类似上面的查看到软链接数呢
回答:
没有直接的命令可以显示软链接的数量,因为软链接与硬链接不同,它只是一个指向目标文件或目录的文件,通常不使用 inode 计数。然而,你可以通过以下方式查看软链接的相关信息:
1. **查看一个文件或目录是否有软链接指向它:**
- 你可以使用 `find` 命令来查找指向某个文件的软链接。例如,查找指向 `filename.txt` 的软链接:
```bash
find / -type l -lname "$(realpath filename.txt)"
```
这条命令会在整个文件系统中查找所有指向 `filename.txt` 的软链接。
2. **列出某个目录下的所有软链接:**
- 你可以使用 `ls` 命令配合 `-l` 选项来查看目录中的软链接:
```bash
ls -l /path/to/directory | grep '^l'
```
这将列出 `/path/to/directory` 目录下的所有软链接。
3. **统计某个目录下的软链接数量:**
- 你可以使用 `find` 命令统计目录下的软链接数量:
```bash
find /path/to/directory -type l | wc -l
```
这条命令会返回 `/path/to/directory` 目录及其子目录中软链接的总数。
软链接本质上是独立的文件,因此系统并不维护指向某个文件的软链接数量,这也是为什么没有类似 `stat` 查看硬链接数的工具来查看软链接数量。
找到文件夹下所有的软链接
一、查到所有软连接的目录的Command,实践Ok:
二、查找目录下的软链接文件:
find -L . -name "*.sql"
三、查找软链接目录里的某文件:
估计需要结合一,后再查找。
来自:http://bbs.chinaunix.net/thread-4057023-1-1.html
问题:
stat-x filename.txt中有Links: 1
文件的硬链接数,表示有多少个文件名指向该 inode。这里表示只有一个文件名指向该文件。
有没有类似上面的查看到软链接数呢
回答:
没有直接的命令可以显示软链接的数量,因为软链接与硬链接不同,它只是一个指向目标文件或目录的文件,通常不使用 inode 计数。然而,你可以通过以下方式查看软链接的相关信息:
1. **查看一个文件或目录是否有软链接指向它:**
- 你可以使用 `find` 命令来查找指向某个文件的软链接。例如,查找指向 `filename.txt` 的软链接:
```bash
find / -type l -lname "$(realpath filename.txt)"
```
这条命令会在整个文件系统中查找所有指向 `filename.txt` 的软链接。
2. **列出某个目录下的所有软链接:**
- 你可以使用 `ls` 命令配合 `-l` 选项来查看目录中的软链接:
```bash
ls -l /path/to/directory | grep '^l'
```
这将列出 `/path/to/directory` 目录下的所有软链接。
3. **统计某个目录下的软链接数量:**
- 你可以使用 `find` 命令统计目录下的软链接数量:
```bash
find /path/to/directory -type l | wc -l
```
这条命令会返回 `/path/to/directory` 目录及其子目录中软链接的总数。
软链接本质上是独立的文件,因此系统并不维护指向某个文件的软链接数量,这也是为什么没有类似 `stat` 查看硬链接数的工具来查看软链接数量。
service network start安装yum install -y net-tools ,ssh连接报警does not map back to the address - POSSIBLE BREAK
Unix/LinuxC技术 jackxiang 2014-5-6 20:33
背景:
ssh作连接时:
[root@localhost ~]# ssh -l xiangdong 192.168.1.108
Address 192.168.1.108 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
xiangdong@192.168.1.108's password:
Last login: Tue May 6 16:10:52 2014 from 10.70.38.87
/etc/sysconfig/bash-prompt-xterm: line 1: ifconfig: command not found ==》 yum install -y net-tools
一般是在配置无密码登录时引起的:
http://hi.baidu.com/tanggaohui/item/4fcf24372225143f2f20c4d0
GSSAPIAuthentication 这个设置项到底是什么作用了 ?
在securecrt 关闭、开启 GSSAPI,在登陆服务器时好像没什么影响。。。
答:这个是可选,而且和顺序有关,你如果使用密码认证,你进系统,和下面那个都无任何关系
阅读全文
ssh作连接时:
[root@localhost ~]# ssh -l xiangdong 192.168.1.108
Address 192.168.1.108 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
xiangdong@192.168.1.108's password:
Last login: Tue May 6 16:10:52 2014 from 10.70.38.87
/etc/sysconfig/bash-prompt-xterm: line 1: ifconfig: command not found ==》 yum install -y net-tools
一般是在配置无密码登录时引起的:
http://hi.baidu.com/tanggaohui/item/4fcf24372225143f2f20c4d0
GSSAPIAuthentication 这个设置项到底是什么作用了 ?
在securecrt 关闭、开启 GSSAPI,在登陆服务器时好像没什么影响。。。
答:这个是可选,而且和顺序有关,你如果使用密码认证,你进系统,和下面那个都无任何关系
阅读全文
解决 maps to localhost, but this does not map back to the address
Unix/LinuxC技术 jackxiang 2014-3-19 14:33
修改 /etc/ssh/ssh_config
vim /etc/ssh/ssh_config
GSSAPIAuthentication no
----------------------------------
修改 /etc/ssh/ssh_config
vim /etc/ssh/ssh_config
在server 把GSSAPIAuthentication yes
后面的yes 改成no
然后/etc/init.d/sshd restart
来自:http://jafy00.blog.51cto.com/2594646/810716
http://fleiou2008.blog.163.com/blog/static/819810172012631111922846/
vim /etc/ssh/ssh_config
GSSAPIAuthentication no
----------------------------------
修改 /etc/ssh/ssh_config
vim /etc/ssh/ssh_config
在server 把GSSAPIAuthentication yes
后面的yes 改成no
然后/etc/init.d/sshd restart
来自:http://jafy00.blog.51cto.com/2594646/810716
http://fleiou2008.blog.163.com/blog/static/819810172012631111922846/
linux shell 脚本实现监听端口的shel协议通讯(重定向应用)。
Unix/LinuxC技术 jackxiang 2014-3-17 22:04
零、一段监听端口的shell:
摘自:http://ajiewps.sinaapp.com/?p=266
一、通过shell脚本重定向实现监控memcache状态:
通过nc命令实现:
[chengmo@centos5 shell]$ (echo "stats")|nc 127.0.0.1 11211
二、通过重定向读取远程web服务器头信息:
(echo -e "HEAD / HTTP/1.1\n\n\n\n\n";sleep 2)|telnet www.baidu.com 80
参考:http://www.cnblogs.com/chengmo/archive/2010/10/22/1858302.html
摘自:http://ajiewps.sinaapp.com/?p=266
一、通过shell脚本重定向实现监控memcache状态:
通过nc命令实现:
[chengmo@centos5 shell]$ (echo "stats")|nc 127.0.0.1 11211
二、通过重定向读取远程web服务器头信息:
(echo -e "HEAD / HTTP/1.1\n\n\n\n\n";sleep 2)|telnet www.baidu.com 80
参考:http://www.cnblogs.com/chengmo/archive/2010/10/22/1858302.html
背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况。
一、 linux ps命令,查看某进程cpu和内存占用率情况
[root@test vhost]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
解释:
linux 下的ps命令
USER 进程运行用户
PID 进程编号
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小
RSS 进程使用的驻留集大小或者是实际内存的大小
TTY 与进程关联的终端(tty)
STAT 检查的状态:进程状态使用字符表示的,如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不可中断的睡眠,通常是I/O)、P(等待交换页)、W(换出,表示当前页面不在内存)、N(低优先级任务)T(terminate终止)、W has no resident pages
START (进程启动时间和日期)
TIME ;(进程使用的总cpu时间)
COMMAND (正在执行的命令行命令)
NI (nice)优先级
PRI 进程优先级编号
PPID 父进程的进程ID(parent process id)
SID 会话ID(session id)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识
————————————由上面列的输出后于是可以通过awk进行对特定列进行输出————————————
查看用户的一个进程运行情况参数o:
摘自:http://www.commandlinefu.com/commands/view/7244/micro-ps-aux-by-memcpu
二、 linux ps命令,查看进程cpu和内存占用率排序
使用以下命令查看:
ps -aux | sort -k4,4n
ps auxw --sort=rss
ps auxw --sort=%cpu
摘录自:http://blog.chinaunix.net/uid-21389973-id-3292358.html
一、 linux ps命令,查看某进程cpu和内存占用率情况
[root@test vhost]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
解释:
linux 下的ps命令
USER 进程运行用户
PID 进程编号
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小
RSS 进程使用的驻留集大小或者是实际内存的大小
TTY 与进程关联的终端(tty)
STAT 检查的状态:进程状态使用字符表示的,如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不可中断的睡眠,通常是I/O)、P(等待交换页)、W(换出,表示当前页面不在内存)、N(低优先级任务)T(terminate终止)、W has no resident pages
START (进程启动时间和日期)
TIME ;(进程使用的总cpu时间)
COMMAND (正在执行的命令行命令)
NI (nice)优先级
PRI 进程优先级编号
PPID 父进程的进程ID(parent process id)
SID 会话ID(session id)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识
————————————由上面列的输出后于是可以通过awk进行对特定列进行输出————————————
查看用户的一个进程运行情况参数o:
摘自:http://www.commandlinefu.com/commands/view/7244/micro-ps-aux-by-memcpu
二、 linux ps命令,查看进程cpu和内存占用率排序
使用以下命令查看:
ps -aux | sort -k4,4n
ps auxw --sort=rss
ps auxw --sort=%cpu
摘录自:http://blog.chinaunix.net/uid-21389973-id-3292358.html
并发数 和 TPS 有什么联系吗?
Unix/LinuxC技术 jackxiang 2014-2-26 13:35
背景:昨天一QQ群里的兄弟问了个问题:并发数 和 TPS 有什么联系吗?我在微信里作了下简单回答如下,顺带今天了解下其它参数。
TPS 是Transactions Per Second 的 缩 写, 也 就 是 事 务 数/ 秒。 它 是软件测试结 果 的 测 量 单 位。 一 个 事 务 是 指 一 个 客 户 机 向 服 务 器 发 送 请 求 然 后 服 务 器 做 出 反 应 的 过 程。 客 户 机 在 发 送 请 求 时 开 始 计 时, 收 到 服 务 器 响 应 后 结 束 计 时, 以 此 来 计 算 使 用 的 时 间 和 完 成 的 事 务 个 数, 最 终 利 用 这 些 信 息 来 估 计 得 分。 客 户 机 使 用 加 权 协 函 数 平 均 方 法 来 计 算 客 户 机 的得 分,测试软件就是 利 用 客 户 机 的 这 些 信 息 使 用 加 权 协 函 数 平 均 方 法 来 计 算 服 务 器 端 的 整 体TPS 得 分。
如求TPS,例子,一个软件测试以并发2000,发现其经过1分钟后软件给出Response Time(sec)一条曲线,在0.2左右。
此时TPS=并发数/平均响应时间(平均)=2000/0.2 = 10000,1w并发,也就是说能接受1万的并发值,注意是平均响应。阅读全文
TPS 是Transactions Per Second 的 缩 写, 也 就 是 事 务 数/ 秒。 它 是软件测试结 果 的 测 量 单 位。 一 个 事 务 是 指 一 个 客 户 机 向 服 务 器 发 送 请 求 然 后 服 务 器 做 出 反 应 的 过 程。 客 户 机 在 发 送 请 求 时 开 始 计 时, 收 到 服 务 器 响 应 后 结 束 计 时, 以 此 来 计 算 使 用 的 时 间 和 完 成 的 事 务 个 数, 最 终 利 用 这 些 信 息 来 估 计 得 分。 客 户 机 使 用 加 权 协 函 数 平 均 方 法 来 计 算 客 户 机 的得 分,测试软件就是 利 用 客 户 机 的 这 些 信 息 使 用 加 权 协 函 数 平 均 方 法 来 计 算 服 务 器 端 的 整 体TPS 得 分。
如求TPS,例子,一个软件测试以并发2000,发现其经过1分钟后软件给出Response Time(sec)一条曲线,在0.2左右。
此时TPS=并发数/平均响应时间(平均)=2000/0.2 = 10000,1w并发,也就是说能接受1万的并发值,注意是平均响应。阅读全文
[实践OK]C语言中获得系统当前的日期和时间
Unix/LinuxC技术 jackxiang 2014-2-8 16:56
C语言中获得系统当前的日期和时间
一、代码如下:
二、执行如下:
[root@test http_pcap_codes]# ./a.out
Year: 2014
Month: 2
Day: 8
Hour: 16
Minute: 55
Second: 9
Weekday: 6
Days: 38
Isdst: 0
上面的这些日期可以通过c函数连接起来实现:20140208 的按时间的目录结构
原代码来自里面localtime写错了:
http://www.linuxidc.com/Linux/2012-07/65059.htm
直接整数转也成:
snprintf(szValue,100,"%04d%02d%02d",1900+p->tm_year,1+p->tm_mon,p->tm_mday);
printf("%s",szValue)
整数转为char后再进行snprintf转代码%s(简单示例),snprintf参考:http://jackxiang.com/post/3736/
一、代码如下:
二、执行如下:
[root@test http_pcap_codes]# ./a.out
Year: 2014
Month: 2
Day: 8
Hour: 16
Minute: 55
Second: 9
Weekday: 6
Days: 38
Isdst: 0
上面的这些日期可以通过c函数连接起来实现:20140208 的按时间的目录结构
原代码来自里面localtime写错了:
http://www.linuxidc.com/Linux/2012-07/65059.htm
直接整数转也成:
snprintf(szValue,100,"%04d%02d%02d",1900+p->tm_year,1+p->tm_mon,p->tm_mday);
printf("%s",szValue)
整数转为char后再进行snprintf转代码%s(简单示例),snprintf参考:http://jackxiang.com/post/3736/
TortoiseSVN使用Repository UUID doesn't match expected 解决办法,TortoiseSVN 修改服务器地址url,uuid冲突。
Unix/LinuxC技术 jackxiang 2014-2-8 10:54
操作TortoiseSVN时,报如下错误:
Command Update
Repository UUID 'xxxxxxxx' doesn't match expected
UUID 'xxxxxxxx'
Finished!
这个在windows下是看不到uuid的,但是在Linux下的svn client是能看到的,分别讲下在哪儿:
1)Windows下的小乌龟是在.svn/wc.db里能找到,但是不报错这个是没法直接查到的,打开这个db文件搜索下svn的http地址内容就在它旁边能找到uuid,长得像这样,里而且多个一样的URL,这样不太好找:9b35ebc1-e2f0-4571-a2aa-cca3a5a3be64。
2)Linux下可直接用svn info能获取到,如svn info svn目录,或svn info svn的http地址信息。
sha1$e059139d119b69af6510ac5971fcfb4aa3bbbc64
可以看到,原来Repository创建者的UUID是前者,而现在所操作的是后者的UUID。因此,目前的解决办法是:使用相关命令更新Repository的UUID。
具体办法如下:
1、首先查看项目的所有者的UUID
# svnlook uuid /var/svn/repos
xxxxxxx
2、更新项目的UUID
# svnadmin setuuid /var/svn/repos xxxxxxx
3、查看一下更新后的UUID
# svnlook uuid /var/svn/repos
是在linux下的tortoise服务器的仓库里面看,如下:
/usr/local/subversion/bin/svnlook uuid /data/subversion/levoo
400fc8d2-0ce3-4270-bfba-d81f7d67c23b
附:
UUID是repository创建时自动生成的一个随机数, SVN Client利用UUID判断是否为同一个resp。一般遇到UUID不同时,需要重新checkout
摘自:http://blog.csdn.net/xuzhuang2008/article/details/8474229
1. 客户端 在工作目录上右键-> TortoiseSVN-> 重新定位(Relocate)
2. 如果显示 uuid冲突时, 先显示现有版本,再设置新的id。
服务器在项目上右键->所有任务->start Command Prompt
H:\backup\DS9000>svnlook uuid .
3219074f-d8da-2248-814a-399c5442be0a
H:\backup\DS9000>svnadmin setuuid . a3880bf4-0eb5-d74c-8d1e-3d6c595fa54e
H:\backup\DS9000>svnlook uuid .
a3880bf4-0eb5-d74c-8d1e-3d6c595fa54e
来自:http://blog.sina.com.cn/s/blog_727b5d7c0100ogo1.html
Command Update
Repository UUID 'xxxxxxxx' doesn't match expected
UUID 'xxxxxxxx'
Finished!
这个在windows下是看不到uuid的,但是在Linux下的svn client是能看到的,分别讲下在哪儿:
1)Windows下的小乌龟是在.svn/wc.db里能找到,但是不报错这个是没法直接查到的,打开这个db文件搜索下svn的http地址内容就在它旁边能找到uuid,长得像这样,里而且多个一样的URL,这样不太好找:9b35ebc1-e2f0-4571-a2aa-cca3a5a3be64。
2)Linux下可直接用svn info能获取到,如svn info svn目录,或svn info svn的http地址信息。
sha1$e059139d119b69af6510ac5971fcfb4aa3bbbc64
可以看到,原来Repository创建者的UUID是前者,而现在所操作的是后者的UUID。因此,目前的解决办法是:使用相关命令更新Repository的UUID。
具体办法如下:
1、首先查看项目的所有者的UUID
# svnlook uuid /var/svn/repos
xxxxxxx
2、更新项目的UUID
# svnadmin setuuid /var/svn/repos xxxxxxx
3、查看一下更新后的UUID
# svnlook uuid /var/svn/repos
是在linux下的tortoise服务器的仓库里面看,如下:
/usr/local/subversion/bin/svnlook uuid /data/subversion/levoo
400fc8d2-0ce3-4270-bfba-d81f7d67c23b
附:
UUID是repository创建时自动生成的一个随机数, SVN Client利用UUID判断是否为同一个resp。一般遇到UUID不同时,需要重新checkout
摘自:http://blog.csdn.net/xuzhuang2008/article/details/8474229
1. 客户端 在工作目录上右键-> TortoiseSVN-> 重新定位(Relocate)
2. 如果显示 uuid冲突时, 先显示现有版本,再设置新的id。
服务器在项目上右键->所有任务->start Command Prompt
H:\backup\DS9000>svnlook uuid .
3219074f-d8da-2248-814a-399c5442be0a
H:\backup\DS9000>svnadmin setuuid . a3880bf4-0eb5-d74c-8d1e-3d6c595fa54e
H:\backup\DS9000>svnlook uuid .
a3880bf4-0eb5-d74c-8d1e-3d6c595fa54e
来自:http://blog.sina.com.cn/s/blog_727b5d7c0100ogo1.html
介绍一个linux下生成C代码调用树的好工具calltree
Unix/LinuxC技术 jackxiang 2014-2-7 17:50