分页: 1/26 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

服务器+网站

35服务器:目前是日新的主服务器,日新的绝大部分应用在35服务器上:

 
  1. Filesystem Used Mounted on
  2. /dev/da0s1a 3.0G /
  3. devfs 1.0K /dev
  4. /dev/da0s1d 81M /var
  5. /dev/da1s1g 21G /data
  6. /dev/da1s1d 19G /usr/home
  7. /dev/da1s1e 6.3G /var/log
  8. /dev/da1s1f 28G /www
  9. /dev/da2s1d 53G /backup

网站程序建议放在/www或者相应帐号的home目录;mysql数据都在/data中;备份文件在/backup中,数据库是每天会自动备份一次的;日志文件在/var/log中,已经给每个网站设置好了日志定时切割。

Web服务方面35服务器很畸形地用了Nginx+FastCGI+Apache共存的方式,Nginx占80端口,php-cgi占139端口,Apache占888端口,相对稳定和不常修改的程序在Nginx+FastCGI下跑着,一些老成员的站点在Apache下跑着并由Nginx反向代理。由于在PHP 5.2以上启用safe_mode or an open_basedir会导致CURLOPT_FOLLOWLOCATION失败,所以在Apache下的php是没有打开open_basedir的,需要使用相应功能的站点可以放在Apache下跑,而FastCGI下相应的限制更严格。

35服务器使用ipf防火墙,对公网仅开放80端口,对办公室所处的网段全端口开放,另外对部分IP段开放22、8081端口。SSH占用22端口,Webmin占用8081端口。外网登录服务器需要使用90服务器的代理服务。

登录服务器后提示如下:

 
  1. You can edit your website configure in following files:
  2.  
  3. /usr/local/etc/apache22/extra/httpd-vhosts.conf (apache)
  4. /usr/local/etc/nginx/vhost.conf (nginx)
  5.  
  6. Then you can use this to apply your settings:
  7. "nginx -s reload"
  8. "apchectl restart"
  9.  
  10. And you can modify the website files in /www all!
  11.  
  12. BUT YOU MUST BACKUP IT BEFORE YOU DO ANYTHING!
  13.  
  14. PS:The old data is still in the /usr/home/oldhome/.
  15. Now the Nginx+FastCGI is working on ecjtu.net,try it in the files:
  16. /usr/local/etc/nginx/ecjtu.conf.

35服务器一般只给成员开放www组和ftp组权限,如何添加自己的网站以及相应的权限如上,已经解释得很清楚,需要注意的是如果使用日新的域名务必以{yourname}.u.ecjtu.net格式,如果是使用自己的域名必须先备案才可以绑定到日新服务器,严禁绑定未备案的域名到日新的服务器上

 

90服务器:日新唯一一台Windows服务器,主要运行着一些ASP站点和日新投稿系统。

 

 

未完待续……

 

马上要准备彻底闭关备战考研,可能就目前的情况有必要对目前日新技术部的整体工作进行一下总结并交付给接下来的TX们了。

日新的基础是整个好几代前辈一起不断努力的结晶,这其中包括新闻部、技术部、互动社区的诸多前辈之心血。首先技术部的TX们需要明确:技术一种工具——或是达到目标的工具,或是展示你能力的工具等,技术的存在终究是为了能够更好地工作,如果以纯技术为全部的话结果可能会是自己最终沦为“工具”。在技术部的TX可能更多的是以磨练技术的想法为主,以学习和研究技术为主固然是好事,在此之外建议大家适当地去关注一下非技术的因子,比如找到自己真正合适的爱好、关注关注互联网大事记、在日新多交一些合适的朋友、多了解非技术人士的想法等。此外大家应该明白日新是一个整体,技术部是日新的一部分,与其他非技术部门的TX更多地交流可以让你的视野和思维更加的广阔:不同圈子的人有不同的大学经历,不同圈子的人交流往往更能碰撞出火花。

好梦网的创始人ZhangWei前辈一直是技术部里的神话,我们一直在期待技术部可以出更多的zhangwei,更多的“好梦网”,但说实话就目前技术部的整体实力还是有些令人无奈的。虽然说除了努力之外学技术多少还是要讲究一些天份,但是绝大部分你需要掌握的技术内容都是更需要你付出努力和时间的,走过之前给TX们各式各样填鸭式培训的探索之路后我最终还是觉得应该:“师傅领进门,修行在个人”。加油吧! TX们!

因为安全原因一般对服务器的访问都是有非常严格的IP限制的,但是为了方便随时随地的迅速响应我在防火墙上开放了通过手机CMNET网段访问服务器SSH的权限。这么一来由PPC上的PoketPutty直接访问和操作服务器或者是通过手机CMNET带动笔记本访问服务器都要方便很多。

由于以前在freebsd下使用SSH远程登录时基本上都是良好的网络环境,很少出现非正常中断的现象。但是使用CMNET访问服务器之后,由于CMNET的带宽和不稳定性(瞬时带宽不足或者基站切换都可能会导致导致CMNET连接IP更换)连接非正常中断的概率要大大提高。而如果一旦连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的 session,最终将导致服务器系统上遗留了不少失效的Session。
 

 
  1. Holmesian pts/0 Aug 26 09:42 (117.136.21.200) 
  2. Holmesian pts/1 Aug 26 09:45 (117.136.21.219) 
  3. liaux pts/3 Aug 25 12:43 (202.101.208.90) 
  4. Holmesian pts/7 Aug 26 10:17 (117.136.21.162:S) 
  5. Holmesian pts/8 Aug 26 10:18 (117.136.21.162:S)



虽然可以通过设置SSH的超时来自动清理这些无效的Seesion,但是无效的Session遗留在系统上总会感觉不爽。这个时候screen命令就华丽丽地登场了:Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。



通过Screen工具在ssh搞东西时,就不需要以前那样额外多增加一个终端来保持登录状态了。

通过PORTS安装Screen
# cd /usr/ports/sysutils/screen
# make install clean

使用简述
# screen
//以下^A表示同按“Ctrl + A”键
 

 
  1. # ^A c //Create,开出新的 window
  2. # ^A n //Next,切换到下个 window
  3. # ^A p //Previous,前一个 window
  4. # ^A ^A //在两个 window 间切换
  5. # ^A w //Windows,列出已开启的 windows 有那些
  6. # ^A 0…9 //切换到第 0..9 个 window
  7. # ^A t //Time,显示目前的时间,与系统的 load
  8. # ^A K //kill window,强制关掉目前的 window
  9. # ^A ? //Help,显示简单说明
  10. # ^A d //detach,将目前的 screen session (可能含有多个 windows) 丢到背景执行




# screen -ls //显示所有的 screen sessions
# screen -r [keyword] //选择一个 screen session 回来 (捡回来) , 恢复离线的screen作业, 单独输入 screen -r 也行的,通过这个功能就可以捡回之前断线的Session

 

Tags: , , ,

在Ngnix中如果用变量作为反向代理的地址时,容易出现“no resolver defined to resolve xxx.xxx”的问题,例如:


 

 
  1. server
  2.  {
  3.  listen 80;
  4.  server_name ~^(.*).lib.ecjtu.net$;
  5.  access_log /var/log/nginx/access-lib_ecjtu.log;
  6.  set $key $1;
  7.  location /{
  8.  auth_basic "What's your password?";
  9.  auth_basic_user_file /www/lib_ecjtu_net/htpasswd;
  10.  proxy_pass http://$key;
  11.  }
  12.  }      


 升级ports用portsnap(CVSUP已成历史)

portsnap fetch update  升级PORTS    #如果是第一次使用portsnap来升级,则输入:portsnap fetch extract

通过portmaster升级FreeBSD下所有已安装软件相当方便 (portupgrade已成历史)

安装好portmaster之后运行/usr/local/sbin/portmaster -Da即可

 

不过需要注意的是看看是不是所有的软件都需要升级,是不是都合适升级。一般来说没有多大的问题

 

此外上次提到一个open_basedir不能与PHP一些参数共存的问题找到一个解决方法,因为是Nginx+FastCGI+Apache的环境

把不能打开Open_basedir的PHP程序放在Apache下跑,在php.ini中注释掉open_basedir部分

再在启动FastCGI的后添加-d open_basedir=/www:/tmp:/var/tmp:/usr/home,如下:

/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 139 -u www -C 20 -f "/usr/local/bin/php-cgi -d open_basedir=/www:/tmp:/var/tmp:/usr/home"

这样在Nginx+FastCGI下跑的程序就会受到open_basedir的限制,而Apache下跑的PHP不受此限制。

 

 

 

Tags: ,

FREEBSD8上安装nginx+snmp+mrtg还是比较简单的,因为有PORTS的帮助让很多工作都简化了。但是网络上的教程要么太老,要么显得安装过程过于顺利,下面贴出我的安装过程供需要的TX参考。

Nginx的安装就不再赘述了,最终用到Nginx的地方只是将所有的监测结果展示出来,相当于在Nginx下添加一个新的虚拟主机而已。

首先是关于PHP在PHP 5.2以上启用safe_mode or an open_basedir会导致CURLOPT_FOLLOWLOCATION失败,再导致curl_setopt/curl_setopt_array失败。

官方对此有声明如下:

Starting in PHP 5.2.0, CURLOPT_FOLLOWLOCATION can't be set via curl_setopt_array() (or curl_setopt()) when either safe_mode is enabled or open_basedir is set. In these cases, the order of CURLOPT_* settings in the array can be important.


1.CURLOPT_FOLLOWLOCATION
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set
2.curl_setopt_array()
如果curl_setopt_array中包含CURLOPT_FOLLOWLOCATION键值,会导致所有options设置失败,让你感觉curl_setopt_array有问题,其实这个函数本身是没问题的。

Tags: , , , ,

这是之前给35服务器装完ESXi之后给虚拟机安装FreeBSD8的过程,整理一下放到这里存档吧。

分区划分(对/和/var有较大的冗余,因为/usr/home、/var/log都已经独立出来,所以16G的根分区显得非常多):

Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1a 16G 2.7G 12G 19% /
/dev/da0s1d 4.7G 10M 4.3G 0% /var
/dev/da1s1g 40G 20G 16G 56% /data
/dev/da1s1d 29G 17G 9.6G 64% /usr/home
/dev/da1s1e 28G 610M 26G 2% /var/log
/dev/da1s1f 58G 27G 26G 51% /www
/dev/da2s1d 71G 345M 65G 1% /backup
安装的FB8.1虚拟机使用了三块虚拟硬盘:da0纯安装系统和软件,受快照系统影响;da1和da2是日常数据和备份数据,都为独立属性不受快照系统影响。出任何系统问题只需要恢复系统快照即可恢复网站访问。/www中存放网站程序文件以及附件,/data 中存放MySQL数据,/var/log中存放所有日志文件,/usr/home存放用户数据,/backup为备份内容。

分页: 1/26 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]