新建空白站点,将站点PHP的版本位置调整为静态
模式
然后在站点设置->配置文件中 调整如下配置
# 服务器组
upstream yywkapp {
server IP1:端口 max_fails=2 fail_timeout=1 weight=100;
server IP2:端口 max_fails=2 fail_timeout=1 weight=100;
}
server
{
listen 80;
# 其他配置
#禁止在证书验证目录放入敏感文件
if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
return 403;
}
location / {
proxy_pass http://yywkapp/; # 负载均衡访问地址
proxy_http_version 1.1;
proxy_next_upstream_tries 3;
proxy_next_upstream error timeout invalid_header http_503 http_404;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 300;
proxy_read_timeout 300;
proxy_send_timeout 300;
proxy_ignore_client_abort on;
}
# 下面这两项配置 需要注释掉
# location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
# {
# expires 30d;
# error_log /dev/null;
# access_log /dev/null;
# }
# location ~ .*\.(js|css)?$
# {
# expires 12h;
# error_log /dev/null;
# access_log /dev/null;
# }
}
在application
目录下config.php
文件中 loginip_check
设置为false
'loginip_check' => false,
在application
目录下config.php
文件中 session
的驱动方式设置为redis
'session' => [
'id' => '',
// SESSION_ID的提交变量,解决flash上传跨域
'var_session_id' => '',
// SESSION 前缀
'prefix' => 'think',
// 驱动方式 支持redis memcache memcached
'type' => 'redis',
// redis主机
'host' => Env::get('redis.host', '127.0.0.1'),
// redis端口
'port' => Env::get('redis.port', 6379),
// 密码
'password' => Env::get('redis.password', ''),
// 使用哪一个 db,默认为 db0
'select' => 3,
// 是否自动开启 SESSION
'auto_start' => true,
// 过期时间
'expire' => 86400 ,
//'cache_limiter'=>''
],
在application
目录下config.php
文件中 http_agent_ip
设置为 HTTP_X_REAL_IP
因为在ThinkPHP5框架中获取客户端IP是通过参数来获取的,如果此时我们使用了负载均衡或CDN后会造成客户端IP为负载均衡或CDN服务器的IP地址,此时我们可以咨询我们使用的云服务商或参考云服务商提供的相关文档,获取负载均衡或CDN传递真实IP的参数名,然后修改中的值即可。
// 获取IP的变量
'http_agent_ip' => 'HTTP_X_REAL_IP',