折腾车队服务器
1. 前言
飞思卡尔车队有一台服务器一直闲置, 开学没那么多事就帮忙给服务器添加一些功能, 这个过程中有些以前在自己电脑上没有的问题都冒出来了、
2. Apache
2.1 缺少msvcr110.dll
首先是httpd -k install
时直接提示缺少msvcr110.dll, 安装了vcredist_x64.exe
还是不行, 想着直接装.net库, 然而并不可以。最后想起来当时下的apache是32位的, 安装了vcredist_x86.exe
之后apache安装成功。
2.2 Servername错误
之后出现了ServerName错误,直接将#ServerName: localhost:80
注释去了,改为自己需要的。
3. Discuz
3.1 无法连接数据库
安装discuz时,显示无法连接数据库,不支持mysqli_connect
,建议advice_mysqli_connect
,但是php的配置文件里绝对是修改过的,搜了搜发现是extension_dir
使用相对路径有时会出错,改为绝对路径后成功
3.2 网站间隔性无法访问
安装之后即可查看了,但是网站会经常无法访问一段时间,查看日志错误信息为: AH00341 指定的网络名不再可用,找到的解决方法有:
- 在httpd.conf里添加:
ThreadsPerChild 1000 MaxRequestsPerChild 10000 Win32DisableAcceptEx
- 在httpd.conf里添加:
AcceptFilter http none AcceptFilter https none EnableSendfile Off EnableMMAP off
使用第二种方法解决问题,但是只添加了前两句即可。
3.3 Child: Starting 64 worker threads
errors.log里还有AH00354: Child: Starting 64 worker threads的提醒,这个应该是和分配给Apache的线程数有关,倒是可以用上述方法解决:
在httpd.conf找到:
<IfModule mpm_winnt.c>
ThreadsPerChild 64
MaxRequestsPerChild 1000
Win32DisableAcceptEx
</IfModule>
将ThreadsPerChild的数目改大点,当然这和硬件关联很大。
3.4 无法上传附件
discuz的头像和附件都无法上传,开始以为只是头像无法上传,提示错误是cannot write data/tmp,感觉是权限问题,就把整个目录权限提升了一番,但是还是不行,最后将#upload_tmp_dir =
注释去了,加入discuz的ucenter_server/data/tmp
目录,解决问题。
4. Filezilla
还用filezilla搭了个ftp服务器,配置好后无法通过其他地址访问,查阅资料将filezilla添加到防火墙允许通过