不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2019-05-21 23:49  分类:Apache/Nginx  编辑

假如 ThinkPHP 5.x 项目,在网站的一个子目录下面,如 /wenjianbao,如何设置Nginx的地址重写规则?

作者:php-note.com  发布于:2018-01-07 18:11  分类:Apache/Nginx  编辑
cat  日志.log  | awk -F ' ' '{print $1}' | sort | uniq -c | sort -nr

查看最近访问平常的ip,一般攻击的都是各种充分访问或者各种尝试攻击,在短时间log很容易看的出来,这里直接能列得出每个IP的访问次数,

如果IP过多,加个|head查看前10

感觉那个ip疑是就

cat 日志.log | grep '这个ip'

最好导出来看,一般是攻击看大访问的地址 等等形式就看得出来了

作者:php-note.com  发布于:2017-12-29 18:33  分类:Apache/Nginx  编辑

Rewrite规则

rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用,例如 http://php-note.com/a/we/index.php?id=1&u=str 只对/a/we/index.php重写。语法rewrite regex replacement [flag];

作者:php-note.com  发布于:2017-12-25 14:52  分类:Apache/Nginx  编辑

nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现:
首先是伪代码(即不被nginx支持),写在这里只是为了方便理解:

if ($remote_addr ~ "^(12.34|56.78)" && $http_user_agent ~* "spider") {
    return 403;
}

下面这是等效的,并真实可用的配置

set $flag 0;
if ($remote_addr ~ "^(12.34|56.78)") {
    set $flag "${flag}1";
}
if ($http_user_agent ~* "spider") {
    set $flag "${flag}2";
}
if ($flag = "012") {
    return 403;
}
作者:php-note.com  发布于:2017-11-29 11:16  分类:Apache/Nginx  编辑

codeigniter(CI)是一个轻量型的PHP优秀框架,在nginx下需要特别的配置才可以使用。

修改Codeigniter

application/config/config.php进行修改,大约在48行左右。

$config['uri_protocol'] = "PATH_INFO"; // 用默认的 REQUEST_URI 也可以
作者:php-note.com  发布于:2016-12-29 08:57  分类:Apache/Nginx  编辑

有个工作场景:

1、公司的一台 CentOS 服务器上运行了好几个网站,每个网站又是由不同的团队在维护,如果确保 ftp 更新文件的时候,不更新错,不乱窜。如何避免 本来给A网站更新文件,结果上传到B网站了等等乱象;

2、只用 CentOS 自带的 sftp,不打算安装 vsftpd 等第三方 ftp 软件;

3、网站目录参考如下:

/alidata/www/test.cnblogs.com

/alidata/www/www.cnblogs.com

作者:php-note.com  发布于:2016-12-21 20:12  分类:Apache/Nginx  编辑

这篇文章我们就特别来讲解下,nginx、php-fpm 以及 mysql 运行在各个用户下的配置。

先来做个说明:nginx本身不能处理PHP,它只是个web服务器。当接收到客户端请求后,如果是php请求,则转发给php解释器处理,并把结果返回给客户端。如果是静态页面的话,nginx自身处理,然后把结果返回给客户端。

Nginx下php解释器使用最多的就是fastcgi。一般情况nginx把php请求转发给fastcgi(即 php-fpm)管理进程处理,fastcgi管理进程选择cgi子进程进行处理,然后把处理结果返回给nginx。

在这个过程中就牵涉到两个用户,一个是nginx运行的用户,一个是php-fpm运行的用户。如果访问的是一个静态文件的话,则只需要nginx运行的用户对文件具有读权限或者读写权限。

而如果访问的是一个php文件的话,则首先需要nginx运行的用户对文件有读取权限,读取到文件后发现是一个php文件,则转发给php-fpm,此时则需要php-fpm用户对文件具有有读权限或者读写权限。

作者:php-note.com  发布于:2015-06-24 14:58  分类:Apache/Nginx  编辑
作者:php-note.com  发布于:2015-04-17 09:54  分类:Apache/Nginx  编辑

很多框架默认路由都是 PATH_INFO 模式,比如默认在 Apache 并且没有 rewrite 时,CodeIgniter 一般可以这样访问 /index.php/controller/action ,那么 nginx 和 php-fpm 如何设置支持 PATH_INFO 模式呢?

php.ini 中一个与 PATH_INFO 有关的设置是 cgi.fix_path 默认为 1,我们将其设置为 0。

作者:php-note.com  发布于:2015-03-07 19:09  分类:Apache/Nginx  编辑

在 Windows 7上安装了个 ApacheFriends XAMPP Version 1.8.2,浏览网站时出现如下错误:

Access forbidden!

You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.

If you think this is a server error, please contact the webmaster.

Error 403

127.0.0.11
Apache/2.4.10 (Win32) OpenSSL/1.0.1h PHP/5.4.31