返回列表 发帖

LNMP伪静态问题、502问题、404、301问题,fsockopen禁用函数,目录权限防跨站攻击



注:以下的有几个操作,都已在0.91延伸版中做了修改,或增加了脚本。
  LNMP 0.9.1 延伸版发布, 可直接选择安装最新PHP版本,nginx版本,mysql版本等



LNMP几个相关文件的路径 (PHP5.3+)

/usr/local/php/etc/php.ini
/usr/local/php/etc/php-fpm.conf

/usr/local/nginx/conf/nginx.conf
/usr/local/nginx/conf/vhost/***.conf  网站域名配制

/usr/local/php/var/log/php-fpm.log    502错误,查看这日志分析
/usr/local/nginx/logs/error.log           nginx 运行错误 查看这日志
/home/wwwlogs/****.log                 网站日志文件







问题一:伪静态问题

很多站友,在使用 LNMP一键安装包 后,nginx伪静态是个问题。怎么办。

在 官方安装说明中  

1、添加虚拟主机,执行如下命令:/root/vhost.sh

再选择是否添加伪静态规则,默认已经有了Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。

操作如下:

未标题-1.jpg

注意:在绑定域名时,就选择使用伪静态 时按 Y,并且填入 对应规则。

特别提醒:1、在输入时,输入小写。
              2、DX伪静态请输入 discuzx,

还有,LNMP一键安装包0.7中 自带的 discuzx 伪静态中 少了一行用户日志内容页伪静态,
  1. rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
复制代码

请自行复制,添加在 discuzx.conf 里。

重点:还有设置好伪静态后,还有一重点,这些都是官方没有说明的。
本贴隐藏内容,需登录、回复后,即可浏览!







手动设置、更改伪静态规则:

FTP软件,使用root 用户登录 22端口,找到以下目录:

/usr/local/nginx/conf              这下面都是伪静态规则文件
/usr/local/nginx/conf/vhost     这下面都是 添加的域名文件。

把相应的伪静态规则,和域名文件 FTP传下来,在自己电脑上使用 写字板 修改。
修改好后,再传上去即可。 (直接在SSH里用VI编辑也可以)



自定义伪静态规则:
1、FTP是从/usr/local/nginx/conf 下传discuzx.conf伪静态规则文件下来
2、用写字板打开此文件,换成你的规则。保存。
3、把此文件改名,如改成 dx1.conf  再FTP上去。
4、FTP把 /usr/local/nginx/conf/vhost 下你的域名文件拉下来。
5、用写字板打开域名文件,把里面的discuzx.conf 换成 dx1.conf
     (直接编辑域名文件中的 include none.conf;  换成 include dx1.conf;)
6、重启Nginx:/etc/init.d/nginx restart   

这样下来,网站即可使用自定义的伪静态规则了。



注:你也可以直接在SSH里用vi操作,只要你熟悉,只要你会。用FTP拉来下也简单。

按以上方法操作,伪静态就不是问题了。  
至于程序使用的伪静态规则,请自行上你的程序官方查找和求助。




注:在官方的 常见问题 中,有一条: LNMPA中如何添加伪静态?
直接将Apache的伪静态文件.htaccess放在网站目录下即可。

官方把这个放在常见问题中,很容易误导人。因为里面并没有看到 LNMP 伪静态设置。
原来 LNMP, 与 LNMPA 是不相同的。 LNMP用nginx 规则,
       LNMPA  是在 LNMP 的基本上 再加入 apache 的,规则用的 apache规则。








问题二:PureFTPd问题

PureFTPd 问题重装最简单,   上phpmyadmin 把 ftp 用户删除,

执行PureFTPd 安装脚本 pureftpd.sh 安装。

一般PureFTPd有问题重装一下就可以解决。 重装后原FTP帐户可能丢失,

有些VPS,装上 PureFTPd后 ,FTP登录后显示目录错误,请关掉VPS防火墙试试。



安装PureFTPd和管理面板,执行如下命令:./pureftpd.sh 后,
安装完后 输入FTP 地址: ip/ftp   显示如下信息:

Error: MySql server not found.
MySql error : Access denied for user 'ftp'@'localhost' (using password: YES)


原因是 1、在安装时填的数据库的ROOT密码不正确。  我是重装一次

          2、在安装时填的 数据库FTP用户密码不正确。 或是配制文件里填的密码不对。
          出现这原因一般是 执行了多次./pureftpd.sh,
          并且是在设置 ftp数据库密码,你没有设置相同。


在安装ureFTPd的时候,提示你输入ftp数据库密码的,
这个密码你可以自己输入,并记下来,以免FTP安装不成功时,再用这个密码。

如果你没记下这个ftp数据库密码。那么:


解决办法是:上phpmyadmin 把 ftp 用户设置一个密码。

再修改 这两个文件里的ftp用户密码为你刚才设置的密码即可。

/usr/local/pureftpd/pureftpd-mysql.conf
/home/wwwroot/ftp/config.php

注:可以直接使用 FTP软件登录 root用户,后面端口填22 即可,使用跟FTP一样,







问题三:FTP only

FTP时,提示:have a public anonymous FTP only

用VI 命令修改:/usr/local/pureftpd/pure-ftpd.conf  文件里

# Don't allow authenticated users - have a public anonymous FTP only.
AnonymousOnly               no

改为 #AnonymousOnly               no

注:这个,我是在 Debian 系统上 出现过。在CentOS 系统上没碰到。

      修改后需重启 nginx






问题四:nginx 301转向问题

得把规则添加到  域名.conf   或  nginx.conf

在  server {
server_name     idc866.com   

下面添加
  1. if ($host != "idc866.com" ){
  2. rewrite ^(.*) http://idc866.com$1 permanent; }
复制代码

意思是:非 idc866.com 来访问就跳转  换成你的域名,这样就OK了。


注:以下意思是,  是 idc866.com  来访问就跳到 www域名上:
  1. if ($host = "idc866.com" ){
  2. rewrite ^(.*) http://www.idc866.com$1 permanent; }
复制代码



注: 301还有另一个写法,代码有一点点不同,效果一样!
  1. if ($host != 'www.idc866.com' ) {
  2. rewrite ^/(.*)$ http://www.idc866.com/$1 permanent;}
复制代码



设置好后,还需要重启  nginx 生效。
      注:0.91修改版中vhost.sh 已加入了 301规则,只需启用他即可。





问题五:nginx 404 页设置

1.创建自己的404.html页面,放在网站根目录。

2.更改/usr/local/nginx/conf/nginx.conf  文件
    在 定义区域   http   {  下面加入
    fastcgi_intercept_errors on;
       
3.更改nginx.conf或网站域名.conf 在 区域 server  {  下面加入:
    error_page 404 /404.html;

  文件位置:/usr/local/nginx/conf/vhost/***.conf   网站域名文件
     
3、最后,必需重启Nginx 生效:/etc/init.d/nginx restart   

   注:0.91修改版中vhost.sh 已加入了 404规则,只需启用他即可。









问题6:关闭MySQL日志,免得占用空间

1.LNMP一键安装包安装的MySQL默认是开启了日志文件的,会占用很多空间。
  会在/usr/local/mysql/var/下面产生mysql-bin.0000* 类似的文件

执行:/usr/local/mysql/bin/mysql -u root -p
输入密码登录后再执行:reset master;
修改/etc/my.cnf 文件,找到
log-bin=mysql-bin
binlog_format=mixed
再这两行前面加上#,将其注释掉,再执行重启 /etc/init.d/mysql restart即可。

      注:0.91修改版中安装脚本已经注释掉了这个mysql日志,不再产生mysql日志。

注:还有一个网站日志,记得常去删除。
    需要时可再开启。或经常手动删除也是可以的。 网站日志文件在:/home/wwwlogs,

    删除日志后记得重启一下Nginx,才会生成新的日志文件。






问题7:安装LNMP时填入的域名访问不正常


          1、安装LNMP 时,要求输入的域名,请随便输入一个。免得域名访问不正常。
如安装时添加了域名,可去 usr/local/nginx/conf/nginx.conf ,把里面的域名删除。

          相关贴:http://www.idc866.com/thread-15479-1-1.html
      注:0.91修改版中已取消了这个安装时的域名输入。






问题8:502问题 收集、解决方法:
502 也有可能是服务器不给力、网站大了,负载高。是否被攻击你站引起负载过高了。

1、检测:在产生502的时候要经常观察探针负载,

    在负载过高时在ssh里执行top查看,看是什么占用CPU,如PHP进程,MYSQL等。

2、检测看是否被攻击,检测看看访客连接数是否过多,SSH里执行:
  1. netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
复制代码



还有,建议把php升级到5.3性能更好。军哥LNMP一键安装包里的升级脚本很方便。

升级后,再把 php-fpm.conf  的参数增加一倍,因为 军哥的那个默认参数很少。


我们的128M、PHP5.3.10版的 php-fpm.conf 参考:  
本贴隐藏内容,需登录、回复后,即可浏览!


还要记得去看:/usr/local/php/var/log/php-fpm.log  5.3版本,错误日志分析问题

      注:0.91修改版已加上了这些参数,且增加了502.sh 脚本,可随意设置和删除。



建议大家 PHP使用 5.3版本,性能更佳。
并装上 xcache 缓存负载更出色。
512M以上内存,可安装64位系统。



解决方法参考:Nginx 502 Bad Gateway错误的解决办法
                   http://bbs.vpser.net/thread-1144-1-1.html
                  
http://www.hostloc.com/thread-37882-1-1.html
                   http://itfis.com/post-212.html





问题9、修改被禁用函数
    现在的0.9版 被禁用的函数(disable_functions):N多了,包括fsockopen
    DX、淘客 都需要这个函数支持。
本贴隐藏内容,需登录、回复后,即可浏览!

      注:0.91修改版中已加入了phpa.sh 脚本,一键添加和删除禁用函数。




问题10、 是个大问题。   FTP权限、目录权限问题,防止跨站攻击

    关于CP空间跨站入侵的问题,求解? VPS防跨站入侵
   http://www.idc866.com/thread-14867-1-1.html

LNMP防跨站操作方法:
本贴隐藏内容,需登录、回复后,即可浏览!

LNMP,还有好几个目录需要设权限。才能最终防止跨站。不在这里透露了,可加QQ交流。

跨站:就是在自己网站上传一个文件管理,可以直接访问到VPS上的其它站点目录下的文件。
        信不信由你,自己上传一个phpspy_2011,或文件管理木马程序,自己看。

LNMP防跨站入侵,LNMP一键安装包防跨站解决。防止跨站入侵。

      注:0.91修改版中已加入了phpb.sh 脚本,一键添加和删除防跨open_basedir 函数。




注:或是 FTP里用ROOT登录22端口,直接把这些文件下载下来,自己改
      这些配制文件 不能用计事本编辑,用写字板可以编辑
      编辑上传后,需重启VPS生效。   或是用 WinSCP 软件登录。





来源:http://lnmp.org/faq.html

更多问题,再慢慢收集。


如大家有什么不明白的,可跟贴。。
----------------------------------------
VPS安装LNMP一键安装包,LNMP安装后 速度更快,更抗负载,最低128M内存要求。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
★ 11月开空间新规则,百度GG收录百贴:http://idc866.com/thread-15155-1-1.html
★ 本站转型:推荐免费空间,收集免费空间,免费空间测试,并提供原创申请教程。
★ 免备案空间,免费空间,免费国外空间,国外免费空间,免费美国空间
★ 我们是一群辛勤的小站站长,我们需要团结,我们需要共同进步!!!!
★ 达要求开空间,论坛发申请贴后,请加QQ:876812422  (一般在线、有Q必回)

TOP

现在1.5 1.5版本LNMP 开伪静态很方便了.

TOP

学习下

TOP

学习中

TOP

可以将301跳转  指向不含www的域名吗? 哪种好一点?

TOP

@@@@@@@@@@@@!!!!!!!!!!!!

TOP

回复 20# 于洪十三

TOP

看看··············

TOP

顶楼主啦..希望楼主多发精品好帖啦.....

TOP

正在逐步解决问题中

TOP

来看看重点·

TOP

aaaaaaaaaaaaaaaaaaa

TOP

来看看

TOP

我的网站htaccess貌似放在网站根目录没有生效,而且添加域名的时候明明设置了目录,但是wwwroot文件夹里面没有生成,只有默认网站目录。

TOP

。。。。。。。。。。。。。。。。。。。。。。。。。

TOP

怎么弄 啊 大哥

TOP

看看学习学习 哦

TOP

隐藏内容嘎嘎。

TOP

正在用这个,看看学习学习

TOP

返回列表