浏览模式: 普通 | 列表
p.s. win2003下fastcgi方式安装apache后也遇到些问题,做个记录。一般情况下可以依据apache和php的错误日志来做一些调整,看看修改的结果。

1、连接状态中 close_wait 太多的问题,apache服务器无响应
解决办法:
a、windows网卡防火墙的设置
windows防火墙中把80,443,apache放入例外,另外防火墙高级中选中http和https。

b、修改apache配置文件httpd.conf,加入下面语句
EnableMMAP off
EnableSendfile off
AcceptFilter http none
AcceptFilter https none
Win32DisableAcceptEx


2、并发连接数太多,导致服务器无响应
...

阅读全文…
p.s. 虽然win2003非常非常悠久,不过资源消耗低,系统稳定,运行小项目绝对没问题,特别是企业站。这里选择apache的原因是可以作为服务运行,比较方便,也支持虚拟目录Alias。并发过高还是老实点转到 centos+nginx。

首先是版本选择,根据https://www.apachelounge.com/download/win32/ 的说法,最后一个支持win2003的是vc10编译版本,可选apache2.2和apache2.4,下方有下载链接。
Build with Windows® Platform SDK 7.1 and Visual Studio C++ 2010 SP1 aka VC10. VC10 has improvements, fixes and optimizations over VC9 in areas like Performance,
...

阅读全文…
p.s.嗯。。看到这个smarty块函数插件的编译解释逻辑实在太绕了,也亏的作者能想出来。如果用原生php,几行代码的事,效率差距太大太大。

上次写过一篇关于smarty_block_name的疑惑,这次来说下它的实现原理,以便于理解这玩意怎么赋值和生效的

模板片段如下,定义一个自定义块 block
<block parent_id="6" ><li>{$item.title}</li></block>

然后在插件plugin中加上 smarty_block_block ,使用$GLOBALS[$index]定义一个全局变量来存储数组$items,入栈出栈$item
function smarty_block_block($params,   $content,   $template, &$repeat){
...
...

阅读全文…
注意:此方法作废,可以搜索nginx平滑升级

p.s.今天遇到一个头大的问题,修改了nginx.conf之后 nginx -s reload 无法使配置生效。而以前似乎是可以生效的,无法理解一度以为是配置写错。

最终使用强制杀进程的方法解决
ps -ef |grep nginx //看下nginx主进程和工作进程

killall -9 nginx //杀掉所有nginx进程,包括主进程和工作进程

/usr/local/nginx/sbin/nginx //新启动nginx

ps -ef |grep nginx //再看下nginx主进程和工作进程是否正常,主进程号是否已经改变


注意:这时候奇妙的现象出现,此时我编辑nginx.conf之后,使用 ...

阅读全文…
1、首先附件服务器安装好 rsync 和 inotify
2、通过 ossfs 把oss挂载到本地目录,并把挂载写到 rc.local ,实现启动自动挂载。 https://help.aliyun.com/document_detail/32196.html
3、写监控文件修改和同步脚本,这个同步脚本可以在开个screen来运行,放启动脚本里面估计也行没有测试。
screen -S yunpic
inotify_rsync_auto.sh
#!/bin/bash
src=/home/pic.xg98.com/pics/ # 需要同步的源路径
des=/yunpic/pics/
cd ${src} # 此方法中,由于rsync同步的特性,这里必须要先cd到源目录,inotify再监听 ./
...

阅读全文…
p.s. 将网站下面的图片重定向到其他域名,这样做的目的是图片数量过多,又在大数据的文章中不方便直接替换成其他域名,只能退而求其次,图片目录的反向代理能解决这个问题,虽然也不是好方法。
需要注意的是:proxy_pass 指定域名解析的ip会在nginx启动时解析,所以一旦域名重新解析了,需要把nginx reload下,不然不会生效

attachments/201806/21_111900_23.png


用户访问效果如下
http://www.domain.com/pics/a.jpg
实际访问路径为
http://pics.domain.com/pics/a.jpg //可以看到目录和文件是自动加上去的,不要proxy_pass再添加一个目录,不然就直接访问这个目录了


参考文章:https://blo...

阅读全文…
p.s. lnmp方式安装的proftpd,默认情况好像可以使用系统用户来访问,后来想用虚拟用户方式来访问ftp,网上查了下发现需要下载ftpasswd来辅助操作生成账号,系统账号的系统账户可以随便弄一个 5000:5000,然后把ftp用户home的own设为5000:5000。
配置文件中 AuthOrder为FTP用户身份验证顺序,mod_auth_file.c是ProFTPD的虚拟用户验证,mod_auth_unix.c是系统用户验证,即/etc/passwd 。
遇到问题可以查看日志文件 /usr/local/proftpd/var/log/proftpd.log ,利用好日志事半功倍。

ftpasswd 使用方法例子
     ftpasswd --help
     ftpasswd --passwd --name ftpuser1 --file
...

阅读全文…
1、源服务器使用xcopy复制一下web下的目录,只建立目录不要文件
xcopy /e /f /t /c f:\webserver f:\webserver2

2、源服务器msdeploy 导出网站
停止www服务和ftp服务,避免冲突,这一步是避免大数据备份,只备份网站目录加快速度
把原网站目录 webserver 改为 webserver-bak ,把只有目录的webserver2改为 webserver

msdeploy -verb:sync -source:webserver60 -dest:archivedir=d:\wwwroot,encryptPassword=password -whatif
msdeploy -verb:sync -source:webserver60 -dest:archi
...

阅读全文…