1. 发布

 

1.1.       系统启动

 

在发布web项目之前也还是需要对上面的软件进行配置,让它们能随系统启动而启动。

 

# 打开启动文件

vim /etc/rc.local

 

 

# 加入以下内容,依次启动mysqltomcat,最后是nginx

 

# 启动mysql

service mysqld start

 

# 启动 tomcat

/opt/apache-tomcat-7.0.29/bin/boot.sh

 

# 启动nginx

/opt/nginx-1.2.3/sbin/nginx

 

 

1.2.       上传项目

 

我在本地写了个简单的登录功能,采用jquery+ajax+servlet+jdbc的代码架构(当然了,只有一个登录功能就使用框架完全就是个2b的行为。我这里使用jquery+ajax只是个人习惯问题,而且要使用nginx+tomcat整合的静动分离架构。)

 

# 以下目录为我的web项目的根目录

/data/web/web-test

 

# 一下文件为我的数据库脚本

/data/web-test.sql

 

1.2.1.           导入数据库

 

我本地用的是SQLyog这个软件来操作mysql数据库的,现在通过这个软件导出我的web-test数据库,上传脚本到web服务器。

 

# 进入mysqlbin目录

cd /opt/mysql-5.5.27/bin/

 

# 使用以下命令执行脚本

./mysql -u root -Dtest < /data/web-test.sql

 

# 登录进去看看数据库是否存在

./mysql –u root -p

show databases;

 

 

OK,数据库已经存在,现在可以配置tomcat了。

 

1.3.       配置tomcat

 

tomcat加载项目。我是一般采用虚拟目录的情况加载项目的。

虚拟主机的方式我很少用,除非特殊情况。比如代码使用了contextpath,或者是跟apache整合的时候。

 

# 首先进入tomcat的配置文件目录

cd /opt/apache-tomcat-7.0.29/conf/

 

# 打开server.xml

vim server.xml

 

# 因为tomcatnginx通讯是是采用http的方式(官方nginx不支持ajp方式),所以ajp方式的连接器可以不用启动了,将下面的注释掉

<!--

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

-->

 

# 1、因为是nginx+tomcat整合,tomcat是不对外暴露的,而且也只有本机一台服务器,所以这里可以设为只能本机访问tomcat。(虚拟主机方式好像不能设这个参数,会访问不了的)。下面代码的绿色部分

# 2、我已经在使用jdk7版本了,所以tomcatbio模式不再采用,采用jdk4就出现的nio模式。下面代码的蓝色部分

# 3、修改tomcat的默认url解码字符集为UTF-8。这个,处理过乱码问题的人都会懂的。下面代码的×××部分

# 将默认的http处理连接器修改成下面那样

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

               connectionTimeout="20000"

               redirectPort="8443" address="localhost"URIEncoding="UTF-8" />

 

 

# host节点里以虚拟目录的方式加载web项目。(注意红色部分,因为采用虚拟目录加载项目,这个项目的session的默认cookiepath与虚拟目录的path值一致,所以需要加上这个字段,将path设为/

<Context path="/web-test" docBase="/data/web/web-test" reloadable="false" sessionCookiePath="/" />

 

 

OKtomcat配置完成,现在可以启动tomcat

 

# 启动tomcat

/opt/apache-tomcat-7.0.29/bin/boot.sh