在一个Centos6.4 VPS安装一PHP站点和两个Tomcat站点

本贴最后更新于 4048 天前,其中的信息可能已经时移世改

0.前言

如果只是打算在一个VPS上,运行多个Java web应用,那么请参考博文:Centos6.4 vps配置

 

如果打算在一个VPS上运行多个Java web应用和一个php web应用(如:wordpess)请继续阅读本博文。

默认系统是很干净的,除了安装了sshd方便远程登录,其他程序都没有安装;我打算在VPS上跑一Java blog应用(域名:www.wenshan.me) ,一个数据采集显示Java web应用(域名:http://data.wenshan.me ),和php web 应用(域名: http://tv.wenshan.me)。

 

1.安装php web应用

因为本php web应用是wordpress,所有要安装php,mysql,apache http server。运行以下命令来安装:

yum -y install httpd php mysql-server php-mysql 

1.1 配置mysql

运行mysql  

service mysqld start

按照mysql提示来设置密码和安全选项。

1.1.1 配置开机启动

a.确保/etc/init.d/mysqld 存在,用service mysqld start能够正常启动
b.运行命令:chkconfig --add mysqld
c.运行命令: chkconfig  mysqld on

 

1.2 配置apache http server

运行http 

 service httpd start

1.2.1 配置开机启动

a.确保/etc/init.d/httpd 存在,用service httpd start能够正常启动
b.运行命令:chkconfig --add httpd
c.运行命令: chkconfig  httpd on

 

1.3 配置php应用

我要安装的是php web应用是wordpress,所有先下载最新的wordpress,解压wordpress到 /var/www/html (apache http server默认安装目录),解压后目录如下:

[root@wenshan html]# ls -l
total 164
-rw-r--r--  1 apache apache   395 Jan  8  2012 index.php
-rw-r--r--  1 apache apache 19929 Jan 18  2013 license.txt
-rw-r--r--  1 apache apache  6531 Sep 12 05:19 readme.html
-rw-r--r--  1 apache apache  4616 Jan 21  2013 wp-activate.php
drwxr-xr-x  9 apache apache  4096 Sep 12 05:19 wp-admin
-rw-r--r--  1 apache apache   271 Jan  8  2012 wp-blog-header.php
-rw-r--r--  1 apache apache  3513 Jul 16 14:19 wp-comments-post.php
-rw-r--r--  1 apache apache  3065 Sep 12 05:19 wp-config-sample.php
-rw-rw-rw-  1 apache apache  3334 Oct 19 15:50 wp-config.php
drwxr-xr-x  6 apache apache  4096 Oct 19 16:03 wp-content
-rw-r--r--  1 apache apache  2718 Sep 23  2012 wp-cron.php
drwxr-xr-x 10 apache apache  4096 Sep 12 05:19 wp-includes
-rw-r--r--  1 apache apache  1997 Oct 23  2010 wp-links-opml.php
-rw-r--r--  1 apache apache  2408 Oct 26  2012 wp-load.php
-rw-r--r--  1 apache apache 29751 Jul 23 07:27 wp-login.php
-rw-r--r--  1 apache apache  7715 Mar  3  2013 wp-mail.php
-rw-r--r--  1 apache apache  9990 Feb 21  2013 wp-settings.php
-rw-r--r--  1 apache apache 22135 May 15 17:54 wp-signup.php
-rw-r--r--  1 apache apache  3692 May  9 00:22 wp-trackback.php
-rw-r--r--  1 apache apache  2722 Mar  4  2013 xmlrpc.php

1.3.1 绑定域名tv.wenshan.me

打开http server的配置文件/etc/httpd/conf/httpd.conf,在"Directory '/var/www/html'"下面改动一行:

AllowOverride All

原来的 AllowOverride为None的话,apache就不会开启rewrite模块。在/etc/httpd/conf/httpd.conf末尾添加:

NameVirtualHost  ip:80

<VirtualHost ip:80>
ServerAdmin alvalan01@live.cn
DocumentRoot "/var/www/html"
ServerName tv.wenshan.me
DirectoryIndex index.php
</VirtualHost>

 

到这里wordpress配置好了,你可以访问域名tv.wenshan.me来配置wordpress。

 

2.安装Java Web应用

2.1 安装Oracle Java JDK

从Oracle下载Java JDK 7版本 jdk-7u40-linux-i586.rpm,执行如下命令来安装Oracle Java JDK。

rpm -ivh jdk-7u40-linux-i586.rpm

2.2 安装Tomcat Server

从tomcat官网http://tomcat.apache.org/download-70.cgi 下载tomcat Server 7.0,解压到对应的目录就可以了,我是解压到/root,打开浏览器访问http://ipaddress:8080,验证tomcat server安装好了。

2.2.1 配置开机自动启动tomcat

1)修改/etc/rc.d/rc.local   

   vim /etc/rc.d/rc.local  

2)添加下面两行脚本,记住是两行,仅仅第二行不行,必须加第一行。 
   在/etc/rc.d/rc.local文件最后加上

  export JAVA_HOME=/usr/java/jdk1.7.0_40
   /root/apache-tomcat-7.0.42/bin/startup.sh start

3)注意,修改rc.local文件为可执行,如: chmod +x  rc.local

说明:/usr/java/jdk1.7.0_40 是jdk安装目录

/root/apache-tomcat-7.0.42是tomcat安装的目录

2.3 添加域名到localhost

因为打算配置Apache http server采用代理的方式来集成tomcat Java web应用,并且不想tomcat web 服务端口8080暴露给internet,所以我们要绑定tomcat web应用域名到127.0.0.1上。打开/etc/hosts, 如下添加data-wenshan-me和www-wenshan-me到/etc/hosts:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 data-wenshan-me www-wenshan-me

关于Apache HTTP Server 与 Tomcat 的连接方式介绍请参考 http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/

2.4 安装Java Web应用

备份$TOMCAT_HOME/webapps到$HOME, 删除下面的所有Java Web应用。拷贝Java Web应用(博客程序和数据采集应用)到$TOMCAT_HOME/webapps下。

2.5 配置Tomcat

用vim打开$TOM_HOME/conf/server.xml 文件,找到<HOST> …</HOST>, 修改为如下:

<Host name="www-wenshan-me"  appBase="webapps"
           unpackWARs="true" autoDeploy="true">
       <Context path="" docBase="javablog" />
   &lt;!-- SingleSignOn valve, share authentication between web applications
        Documentation at: /docs/config/valve.html --&gt;
   &lt;!--
   &lt;Valve className=&quot;org.apache.catalina.authenticator.SingleSignOn&quot; /&gt;
   --&gt;

   &lt;!-- Access log processes all example.
        Documentation at: /docs/config/valve.html
        Note: The pattern used is equivalent to using pattern=&quot;common&quot; --&gt;
   &lt;Valve className=&quot;org.apache.catalina.valves.AccessLogValve&quot; directory=&quot;logs&quot;
          prefix=&quot;www_access_log.&quot; suffix=&quot;.txt&quot;
          pattern=&quot;%h %l %u %t &amp;quot;%r&amp;quot; %s %b&quot; /&gt;
 &lt;/Host&gt;

&lt;Host name=&quot;data-wenshan-me&quot;  appBase=&quot;webapps&quot;
   unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;&gt;
   &lt;Context path=&quot;&quot; docBase=&quot;javadata&quot; /&gt;
   &lt;Valve className=&quot;org.apache.catalina.valves.AccessLogValve&quot; directory=&quot;logs&quot;
       prefix=&quot;data_access_log.&quot; suffix=&quot;.txt&quot;
       pattern=&quot;%h %l %u %t &amp;quot;%r&amp;quot; %s %b&quot; /&gt;
 &lt;/Host&gt;</pre> 

2.6 转发http 80请求到tomcat

打开http server的配置文件/etc/httpd/conf/httpd.conf,添加如下内容到文件末尾:

NameVirtualHost 23.226.79.4:80

<VirtualHost 23.226.79.4:80>
ServerAdmin alvalan01@live.cn
DocumentRoot "/var/www/html"
ServerName tv.wenshan.me
DirectoryIndex index.php
</VirtualHost>

<VirtualHost 23.226.79.4:80>
ServerAdmin alvalan01@live.cn
DocumentRoot "/root/apache-tomcat-7.0.42/webapps/javablog"
ServerName www.wenshan.me
ServerAlias wenshan.me
ProxyPass / http://www-wenshan-me:8080/
ProxyPassReverse / http://www-wenshan-me:8080/
</VirtualHost>

<VirtualHost 23.226.79.4:80>
ServerAdmin alvalan01@live.cn
DocumentRoot "/root/apache-tomcat-7.0.42/webapps/javadata"
ServerName data.wenshan.me
ProxyPass / http://data-wenshan-me:8080/
ProxyPassReverse / http://data-wenshan-me:8080/
</VirtualHost>

 

3. 配置防火墙

有很多端口比如:mysql 3306, tomcat 8009 8005,是不希望互联网访问的,所以我们要centos的防火墙iptables来阻止访问。运行一下命令来阻止访问:

iptables -I INPUT -i eth0 -p tcp --dport 3306 -j DROP

iptables -I INPUT -i eth0 -p tcp --dport 8009 -j DROP

iptables -I INPUT -i eth0 -p tcp --dport 8005 -j DROP

iptables -I INPUT -i eth0 -p tcp --dport 8080 -j DROP

/etc/init.d/iptables save

/etc/init.d/iptables restart

 

注意要指定 -I eth0,否则回环也会阻止,mysql tomcat就会不能正常运行。

 

4. 重启机器

你的web应用已经配置好了,重启机器reboot.

 

 

5. 修改SSH端口号

1.添加端口

vim /etc/ssh/sshd_config

将#Port 22的注释去掉并且换行加入Port 35443

如果是不是增加,而是修改端口的话,建议先保留22端口,等新端口可以登录再去掉。

重启SSH服务 /etc/init.d/sshd restart

root的密码一定要足够复杂。

 

6. 博客运行的vps

本博客运行的VPS是 hi-vps

  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • VPS
    41 引用 • 237 回帖 • 4 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Jimmy

    这个 hi-vps 怎么样?你用是其中的哪一款?我没看到信息里列出 OS,所有的 OS 都是 centOS 吗?谢谢~