/var/empty/sshd must be owned by root and not group or world-writable.

在机器上直接登录,问题显示如下:

/var/empty/sshd must be owned by root and not group or world-writable.

问题:

Linux上的SSH无法启动

报告/var/empty/sshd must be owned by root and not group or world-writable.

解决办法:

首先通过物理终端进入到linux上,手工检查ssh发现没运行

-bash-2.05b# /etc/init.d/sshd status

sshd is stopped

手工启动服务,发现报告权限错误。

-bash-2.05b# /etc/init.d/sshd start

Starting sshd:/var/empty/sshd must be owned by root and not group or world-writable.

[FAILED]

-bash-2.05b#

使用rpm -V 命令可检查到ssh的软件包正常,但某个目录的属主错误。

-bash-2.05b# rpm -V openssh-server

S.5….. c /etc/ssh/sshd_config

…..U.. /var/empty/sshd

-bash-2.05b#

经查看发现这个目录的属主不是root,所以启动ssh报错

-bash-2.05b# ls -ld /var/empty/sshd/

d–x–x–x 2 vu00106 root 1024 Feb 2 2005 /var/empty/sshd/

-bash-2.05b#

修改为root属主,启动成功

-bash-2.05b# chown root /var/empty/sshd/

-bash-2.05b# /etc/init.d/sshd start

Starting sshd: [ OK ]

-bash-2.05b#

至此问题修复。

另外,还可以尝试:

这个是权限的问题

可采取以下两步解决

chown -R root.root /var/empty/sshd

chmod 744 /var/empty/sshd

service sshd restart

就可以解决上述的问题。

浏览器中输入mp3文件地址,播放不下载

什么是Content-Disposition?,Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件,Content-disposition可以在用户下载时指定文件名字。实际使用中Content-disposition虽然只是能指定名字,但是浏览器默认直接下载,而不需要再指定Content-Type;但是如果不指定Content-disposition,直接设置响应头Content-Type: application/octet-stream也可以下载,但是这种下载没有指定文件名,用户下载下来的文件名是请求路径(Request URL)。

设置response-header(响应头)

Content-Disposition: attachment; filename="filename.ext"

linux中Nginx怎么添加多个站点或网站?

在配置好了一台linux服务器之后,该怎么让Nginx怎么添加多个站点或网站呢?Nginx站点配置文件需要写的比较规范,不然很可能造成502等错误,正确的配置才会让Nginx更稳定,甚至和apache一样稳定,而就效率而言,自不必多说,肯定是Nginx更胜一筹咯,如果你想知道怎么正确配置好Nginx,那么可以先看一下这篇文章,,本文主要讲怎么让Nginx怎么添加多个站点或网站,本文以ubuntu server为例,其他linux版本大同小异,参考即可

1.先进入站点配置目录

  1. cd /etc/nginx/sites-enabled

里面可以看到一个默认的配置文件 default,这个我们不用管它,然后直接新建其它的配置文件

2.建立站点配置文件

  1. sudo nano yourdomain.com.conf
  2. #这个yourdomain.com.conf可以随便取名字,也可以是yourdomain,也可以是yourdomain.com

3.在站点配置文件中输入代码

  1. server{ //这里做301跳转,yourdomain.com跳转到www.yourdomain.com
  2.         server_name yourdomain.com;
  3.         rewrite ^/(.*)$ http://www.yourdomain.com/$1 permanent;
  4. }
  5. server {
  6.     root /home/wwwroot/web/yourdomain.com;
  7.     index index.html index.htm index.php;
  8.     server_name www.yourdomain.com;
  9.     #include /home/wwwroot/yourdomain.com/wordpress.conf; //伪静态规则存放目录
  10.     location / {
  11.         try_files $uri $uri/ /404.html; //开启404
  12.     }
  13.     location /doc/ {
  14.         alias /usr/share/doc/;
  15.         autoindex on;
  16.         allow 127.0.0.1;
  17.         allow ::1;
  18.         deny all;
  19.     }
  20.     error_page 404 /404.html; //开启404
  21.     location ~ \.php$ {
  22.         fastcgi_pass 127.0.0.1:9000;
  23.         fastcgi_index index.php;
  24.         include fastcgi_params;
  25.     }
  26. }

保存之后重启Nginx

  1. sudo /etc/init.d/nginx restart

这样让Nginx怎么添加多个站点或网站的配置就做好了,上面代码不仅解决了添加站点或网站的问题,也解决了添加伪静态和开启404的问题,除了可以新加添加多个站点配置文件外还可以直接在default里面增加上面的代码,可以达到一样的效果,但是新加添加多个站点配置文件的方式更方便管理,希望本文对大家有帮助

Linux如何用vi编辑和保存文件

vi是Linux终端下或控制台下常用的编辑器,基本的操作方式为:
vi /路径/文件名
例如,vi /etc/fstab表示显示/etc/fstab文件的内容。使用键盘上的Page Up和Page Down键可以上下翻页;按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态,这时从键盘输入的内容将插入到光标位置;再按下Insert键,左下角将有“Replace”字样,表示当前为替换编辑状态,这时从键盘输入的内容将替换光标位置的内容。编辑完内容后,按下Esc键,并输入“:wq”,然后回车就可以保存退出。
如果不想保存而直接退出,则按下Esc键后,输入“:q!”,然后回车即可。“wq”表示Write和Quit,即保存退出;“q!”表示忽略修改强行退出。

在百度BAE上实现Discuz的伪静态

在百度BAE上实现Discuz的伪静态,方法如下:

1、论坛后台

2、全局-SEO设置-URL静态化

3、论坛主题列表页、论坛主题内容页将“可用”勾上(Rewrite兼容性选择否,其他东西全部默认)

4、BAE后台

5、版本管理-高级-配置

6、添加 主题列表页

7、规则类型:url

8、规则:(.*)/forum\-(\w+)\-([0-9]+).html

9、执行:$1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1

10、添加 主题内容页

11、规则类型:url

12、规则:(.*)/thread\-([0-9]+)\-([0-9]+)\-([0-9]+).html

13、执行:$1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1

14、点击右上角保存

linux 更改文件拥有者的命令

近段时间公司的一台服务器被恶意添加了一些定时器任务到crond的配置文件"/var/spool/cron/root"里,本想着只要简单使用crontab -e命令把该恶意的任务去除掉就可以了,但修改后发现无论我怎么努力也保存不了,直接修改文件“/var/spool/cron/root”也不行,我苦思是什么力量让这个拥有至高无上权力的root用户都无法对该文件进行更改和删除。后来经一资深Linux的朋友点拔一下才知道,文件除了有读写执行权限控制外还有更底层的文件属性,这里汲及到的两个查看和更改文件属性的命令是lsattr和chattr。

使用 lsattr /var/spool/cron/root 一看才知道该文件被添加了sia属性:s---ia------- /var/spool/cron/root,然后使用:chattr -isa /var/spool/cron/root 把这三个属性去除,即可对该文件进行修改了,成功地把该恶意任务去除。

request_terminate_timeout问题解决

php-fpm.conf有两个至关重要的参数,一个是”max_children”,另一个是”request_terminate_timeout”
我的两个设置的值一个是”40″,一个是”900″,但是这个值不是通用的,而是需要自己计算的。
计算的方式如下:
如果你的服务器性能足够好,且宽带资源足够充足,PHP脚本没 有系循环或BUG的话你可以直接将”request_terminate_timeout”设置成0s。0s的含义是让PHP-CGI一直执行下去而没有 时间限制。而如果你做不到这一点,也就是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI能够假死那 么就建议你给”request_terminate_timeout”赋一个值,这个值可以根据你服务器的性能进行设定。一般来说性能越好你可以设置越 高,20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运行,有的可能会超过10分钟因此我设置了900秒,这样不会导致PHP-CGI死掉 而出现502 Bad gateway这个错误。

而”max_children”这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多 了就会处理的很快,排队的请求就会很少。设置”max_children”也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php- cgi所耗费的内存在20M左右,因此我的”max_children”我设置成40个,20M*40=800M也就是说在峰值的时候所有PHP-CGI 所耗内存在800M以内,低于我的有效内存1Gb。而如果我的”max_children”设置的较小,比如5-10个,那么php-cgi就会“很 累”,处理速度也很慢,等待的时间也较长。如果长时间没有得到处理的请求就会出现504 Gateway Time-out这个错误,而正在处理的很累的那几个php-cgi如果遇到了问题就会出现502 Bad gateway这个错误。

DISCUZ分区版上方加DIY域的解决办法

即是在版块导航条的下面、在版块名称的上面的那个区,默认是没有设置diy区的。

但是,很多时候,我们需要在这里放置diy模块。后台广告位都不能满足这个要求,因此,我们需要通过修改模板代码来实现这个功能。纯绿色非插件类的教程如下:

第一步:找到文件discuz.htm, 路径:/template/default/forum

第二步:打开该文件,搜索并找到以下代码:

  1. <div>
  2.                 <!--{hook/index_top}-->
  3.                 <!--{if !empty($_G['cache']['heats']['message'])}-->

复制代码

在这些代码的前面,加入以下代码:

  1. <!--[diy=diy8]--><div id="diy8"></div><!--[/diy]-->

复制代码

保存,上传。即可。记得到后台更新缓存。

dede批量删除未审核稿件SQL命令

一个站被垃圾信息发了上万篇文章,一次一次删太痛苦

后台-〉系统-〉SQL命令行工具,如果不行直接使用phpmyadmin登录后删除。

执行以下sql,执行之前最好是备份一次数据,以免误删

DELETE `dede_archives`.*,`dede_addonarticle`.* FROM `dede_archives`

LEFT JOIN `dede_addonarticle` ON

`dede_archives`.id = `dede_addonarticle`.aid

WHERE `dede_archives`.arcrank = '-1'