从零开始发布web项目(七)
1. 发布
1.1. 系统启动
在发布web项目之前也还是需要对上面的软件进行配置,让它们能随系统启动而启动。
# 打开启动文件
vim /etc/rc.local
# 加入以下内容,依次启动mysql,tomcat,最后是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服务器。
# 进入mysql的bin目录
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
# 因为tomcat跟nginx通讯是是采用http的方式(官方nginx不支持ajp方式),所以ajp方式的连接器可以不用启动了,将下面的注释掉
<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
# 1、因为是nginx+tomcat整合,tomcat是不对外暴露的,而且也只有本机一台服务器,所以这里可以设为只能本机访问tomcat。(虚拟主机方式好像不能设这个参数,会访问不了的)。下面代码的绿色部分
# 2、我已经在使用jdk7版本了,所以tomcat的bio模式不再采用,采用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的默认cookie的path与虚拟目录的path值一致,所以需要加上这个字段,将path设为/。)
<Context path="/web-test" docBase="/data/web/web-test" reloadable="false" sessionCookiePath="/" />
OK。tomcat配置完成,现在可以启动tomcat了
# 启动tomcat
/opt/apache-tomcat-7.0.29/bin/boot.sh
转载于:https://blog.51cto.com/hviki/980237