DevOps

apache httpd: A typical virtualhost

引用 <VirtualHost myjoomla.kent.net:80>         ServerName myjoomla.kent.net         DocumentRoot /home/kent/dev/phpws/joomla25         <Directory />                 Options FollowSymLinks                 AllowOverride None         </Directory> </VirtualHost>

eclipse + tomcat + maven 集成开发环境

eclipse + tomcat + maven 集成开发环境,满足:    1.对jsp的修改直接生效    2.改好代码后只需要点击启动tomcat,不需要执行mvn package等命令    网上搜了半天,完整的解决方案是:    0. eclipse要用jee版,并装好m2eclipse插件    1. 按 这个配置dynamic web module,将web root配成 src/main/webapp.    2. 在server窗口里新增tomcat并且将刚才的工程加进去。tomcat可能要7.0才行,具体版本 见: 这里    3. 设置context path为你想要的,否则context path将与你的project同名。 Project Properties => Web Project Settings => Context Root    4. 将maven所指向的依赖库纳入web module, 否则会报找不到类的错误.  Project Properties => Deployment Assembly => Add …

eclipse + tomcat + maven 集成开发环境 Read More »

apache httpd禁止直接用IP访问

搜了半天,最后按下面这种方法搞定的: (不用xml做配置文件的系统都是耍流氓,像httpd.conf这种东西的层次感太不明确了) 引用 NameVirtualHost *:80 <VirtualHost *:80>         ServerName 111.111.111.111         <Location />            Order deny,allow             Deny from all         </Location> </VirtualHost> <VirtualHost*:80>         ServerName www.myblog.com         DocumentRoot /home/me/myblog         …        </VirtualHost>

访问centos+apache所服务的页面时出现403错误

这一般是因为运行httpd的进程没有权限访问你的应用所在的目录; 你这个目录的所有者是不是root? 搞了半天,最佳方案是: 1. 新建一个linux账号和组,比如myblog/myblog 2. 用这个账号登录,然后在它的个人目录下建立你的应用目录 3. 修改httpd.conf,找到User和Group两项,改成myblog, myblog

apache httpd各种文件的路径

ubuntu用apt安装的apache2    主配置文件:/etc/apache2/apache2.conf,  httpd.conf已经废弃不用了。    端口配置:  /etc/apache2/ports.conf    VirtualHost配置: 每个host都定义在/etc/apache2/sites-available文件夹里作为独立文件,然后在/etc/apache2/sites-enabled以连接的方式引用定义文件    Mod配置:  机制与VirtualHost类似        日志文件:/var/log/apache2/ 目录下     php.ini:  /etc/php5/apache2/php.ini  (以phpinfo()打印的为准) centos中的apache2    主配置文件:/etc/httpd/conf/httpd.conf    VirtualHost配置:/etc/httpd/conf.d/all-sites.conf    apache可执行文件:/usr/sbin/apachectl, 如sudo /usr/sbin/apachectl restart  mac os中的apache2    注:mac os中自带了apache和php,不需要另外安装    主配置文件:/etc/apache2/httpd.conf    VirtualHost配置:/etc/apache2/extra/httpd-vhosts.conf . 配置前要去主配置文件中把这行去注释:Include /private/etc/apache2/extra/httpd-vhosts.conf    apache可执行文件:/usr/sbin/apachectl, 如sudo /usr/sbin/apachectl restart 

apache mod_rewrite: 把首页URL重写为另一个URL

试了半天,发现要这样写才行 引用         RewriteEngine on         RewriteRule ^/$ /homepage/index.htm  [PT] 1. 首页"/"前后要用^和$包裹起来,表示只重写首页 2. 如果不写[PT],apache就会去linux根目录(而不是应用根目录)查找 /homepage/index.htm这个文件 3. 如果把[PT]改成[R],则会发现302跳转,用户的浏览器里会出现http://…/homepage/index.htm

qmail相关资料

查看状态: http://support.godaddy.com/help/article/1582/how-do-i-view-messages-in-the-qmail-queue 引用 #/var/qmail/bin/qmail-qstat #/var/qmail/bin/qmail-qread 查看日志: 引用 # cat /usr/local/psa/var/log/maillog 更多: Basic qmail commands:  http://artoflinux.blogspot.com/2008/02/qmail.html

手动删除qmail的maillog后,就再也看不到有内容的maillog了,怎么办?

如果你手动删除了qmail的maillog, qmail就再也不会自动生成maillog, 你后续的smtp行为都不会再有记录。 即使你手动touch maillog文件,后续的smtp行为也不会在你新建的maillog文件中产生记录。 我今天就是这样手删了一下,结果搞了很久很久都没搞定,直到我开始想: “maillog怎么产生的? 是由splogger写给syslog的;按照‘重启万能论’,是不是重启一下相关服务即可?” 重启 qmail(内置splogger)不起作用后,我 重启syslog服务,就好了。 所以,要解决这个问题,只需: 引用 #service rsyslog restart

Ubuntu下启动、停止nginx

nginx在ubuntu下会被安装成service, 所以相应的起止办法是: $sudo service nginx start $sudo service nginx stop 另外,配置文件在 $sudo vi /etc/nginx/nginx.conf

nginx 后接jett/tomcat

不需要改jetty/tomcat的配置,只需要修改nginx.conf 引用 http{                server{                 listen 80;                  server_name www.xxx.com www2.xxx.com;                 location / {                     proxy_pass              http://localhost:8080;                     proxy_set_header        X-Real-IP $remote_addr;                     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;                     proxy_set_header        Host $http_host;                 }         } } 另外,经过以上设置后,在servlet里拿request.getServerName()和request.getServerPort()会跟浏览器里输入的一致。