discuz论坛想必大家都很熟悉,php写的。因为我的网站是用nginx代理iis 的,disucz用nginx的80端口代理iis的php非80端口不知有问题没,所以直接用nginx的80端口访问php安装目录的 php-cgi这种方式。下面是nginx的conf
server {
listen 80;
server_name bbs.kecq.com;
location / {
root D:/Code/web/Discuz_X3.3_SC_UTF8/upload/;
index index.php index.html index.htm ;
}
location ~ \.php$ {
root D:/Code/web/Discuz_X3.3_SC_UTF8/upload;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
因为安装了好几次都是css 无法显示,去data\cache看没有这个文件,怀疑是不是走了php通道,所以去掉 location /这一段 将下面的~\.php$改为 / 这样所有文件都走php 结果还是不行。后来去后台重新生成了css缓存貌似有了,但是有一部分返回 txt/html 这样的,还是会导致样式无法显示,又将conf 改回去,可以了。但发现管理员登录后竟然无法发帖...后台首页显示有个表不存在。又重装,发现安装途中报sql错误,将这段复制出来执行,慢慢发现admin 这个字段名在 mysql8.0 貌似是关键字.... 去install\data\install.sql 将admin字段改为 `admin` 还有uc_server\install\uc.sql 的admin字段改为 `admin` 再安装发现不报错了,也会自动生成data\cache里的样式文件了。 php7.0 + mysql8 安装完成后没有发现问题。
今天试了 IIS 的fastcgi 的php 搭建,再用nignx 代理,发现大多时候都报403,偶尔一两次又可以访问,但css加载不了,试了好久发现可能是 IIS 的ip限制,因我我之前加入了0.0.0.0 禁止访问,去掉这个,果然可以访问了。这是否说明这个ip限制还是偶尔不起作用的?另外在浏览器输入discuz.kecq.com 总跳转到 hk.kecq.com:8008 我清理掉本地DNS缓存还是不行,后来清理掉360极速浏览器,正常了。