operation 05
=============================================
一,使用tomcat搭建网站服务
cd ~/lnmp_soft/
tar -xf apache-tomcat-8.0.30.tar.gz //释放tomcat软件包
cp -r apache-tomcat-8.0.30 /usr/local/tomcat
cd /usr/local/tomcat/
yum -y install java-1.8.0-openjdk //安装java程序运行环境包
tomcat目录:
bin 存放主程序
logs 存放日志
conf 配置文件
webapps 存放网站页面
lib 存放库文件
work 存放编译后页面文件
[root@proxy tomcat]# bin/startup.sh //开启服务
http://192.168.99.5:8080/ //使用火狐访问
netstat -ntulp | grep java //检查如果有8005、8009、8080端口则正常
由于tomcat服务开启时需要大量随机字符,但系统中随机字符
不够多的话会导致tomcat服务启动失败
解决方案1:
mv /dev/random /dev/random.bak //将random改名
ln -s /dev/urandom /dev/random //用urandom替换random
解决方案2:
yum -y install rng-tools
systemctl start rngd
killall java //杀掉所有java程序
[root@proxy tomcat]# bin/startup.sh //重新开启服务
netstat -ntulp | grep java //检查如果有8005、8009、8080端口则正常
————————————————————————————-
测试静态页面:
cd /usr/local/tomcat
echo “tomcat-test~~~~” > webapps/ROOT/test01.html
http://192.168.99.5:8080/test01.html 火狐访问测试
测试动态页面
vim webapps/ROOT/test02.jsp
Now time is: <%=new java.util.Date()%>
http://192.168.99.5:8080/test02.jsp 火狐访问测试
—————————————————————————————-
二,使用tomcat创建虚拟主机
回顾,
httpd搭建虚拟主机
servername www.a.com
documentroot /var/www/html
nginx搭建虚拟主机
http {
server {
listen 80;
server_name www.a.com;
root html;
index index.html;
}
}
tomcat搭建虚拟主机
vim conf/server.xml //打开配置文件在122行添加虚拟主机配置
虚拟主机的name=”localhost”改成 name=”www.a.com”
mkdir -p web_b/ROOT //之后创建b网站的目录
echo “tomcat-A~~~” > webapps/ROOT/index.html
echo “tomcat-B~~~” > web_b/ROOT/index.html
tail -1 /etc/hosts //查看域名解析
192.168.99.5 www.a.com www.b.com
bin/shutdown.sh //关闭tomcat
bin/startup.sh //开启
[root@proxy tomcat]# curl www.a.com:8080 //测试
tomcat-A~~~
[root@proxy tomcat]# curl www.b.com:8080
tomcat-B~~~
————————————————————————————-
查看虚拟主机www.a.com的配置
unpackWARs=”true” //自动解war包
autoDeploy=”true” //自动更新开发工程师编写的网站功能
[root@proxy tomcat]# yum -y install java-1.8.0-openjdk-devel //安装可以制作war包的工具
[root@proxy tomcat]# jar -cf a.war /var/log //之后可以使用jar命令打war包
[root@proxy tomcat]# cp a.war webapps //将war包放入虚拟主机的网页目录
[root@proxy tomcat]# ls webapps //检查,可以看到已经自动解开,如果无效可
以尝试重启tomcat
————————————————————————————————-
三,tomcat访问路径与页面位置
Context path //匹配用户访问路径
docBase //定义页面位置
测试 1:
<Host name=”www.b.com” appBase=”web_b”
unpackWARs=”true” autoDeploy=”true”>
echo “web_b/ROOT/index.html” > web_b/ROOT/index.html //默认页面路径
echo “web_b/index.html” > web_b/index.html //创建素材,定义新路径
curl www.b.com:8080 //测试可以看到的是默认的页面路径
web_b/ROOT/index.html
之后重启tomcat
curl www.b.com:8080 //重启后测试可以看到新路径
web_b/index.html
测试 2:
<Host name=”www.b.com” appBase=”web_b”
unpackWARs=”true” autoDeploy=”true”>
<Context path=”” docBase=”**abc**” /> //修改成abc
mkdir web_b/abc //创建测试目录
echo “web_b/abc/index.html” > web_b/abc/index.html //测试页面
重启tomcat
[root@proxy tomcat]# curl www.b.com:8080 //查看,见到新路径
web_b/abc/index.html
测试 3:
<Host name=”www.b.com” appBase=”web_b”
unpackWARs=”true” autoDeploy=”true”>
<Context path=”” docBase=”**/abc**” /> //修改成/abc
mkdir /abc //创建测试目录
echo “/abc/index.html” > /abc/index.html //创建测试文件
重启tomcat
[root@proxy tomcat]# curl www.b.com:8080 //得到新路径
/abc/index.html
测试 4:
<Host name=”www.b.com” appBase=”web_b”
unpackWARs=”true” autoDeploy=”true”>
<Context path=”**/test**” docBase=”/abc” /> //path后面添加内容可以匹配
用户访问路径,当用户访问www.b.com:8080/test/时,看到的是/abc的内容,如果
访问www.b.com:8080就看到web_b/ROOT的内容
重启tomcat
[root@proxy tomcat]# curl www.b.com:8080/test/
/abc/index.html
[root@proxy tomcat]# curl www.b.com:8080
web_b/ROOT/index.html
测试 5:
<Host name=”www.b.com” appBase=”web_b”
unpackWARs=”true” autoDeploy=”true”>
<Context path=”/test” docBase=”**abc**” /> //将/abc改成abc
当用户访问www.b.com:8080/test/时,可以看到web_b/abc里的内容
当用户访问www.b.com:8080时就看到web_b/ROOT的内容
重启tomcat
[root@proxy tomcat]# curl www.b.com:8080/test/
web_b/abc/index.html
[root@proxy tomcat]# curl www.b.com:8080
web_b/ROOT/index.html
————————————————————————————————————————-
四,给新创建的虚拟主机添加日志功能
vim conf/server.xml //修改配置文件,复制最后一页默认虚拟主机的日志配置
其中**prefix是日志名称,suffix是日志后缀名
**
pattern=”%h %l %u %t "%r" %s %b” />
配置好之后开启或者重启tomcat服务
curl www.b.com:8080 //访问一次网站,可以产生日志记录
[root@proxy tomcat]# ls logs/ 查看日志目录可以看到b网站的日志名称
—————————————————————————————————————
五,通过maven构建项目
maven是一个项目管理工具
1, 将三个文件传入虚拟机root的家目录,原地释放
apache-maven-3.6.3-bin.tar.gz //maven工具包
cms.tar.gz //网站项目,代码已经都编写完毕
m2.tar.gz //依赖程序,释放之后是隐藏目录.m2
如果有软件包无法释放可以尝试安装bzip2软件包
2,配置maven
mv apache-maven-3.6.3 /usr/local/maven //将maven移动到/usr/local下
yum -y install java-1.8.0-openjdk
yum -y install java-devel
vim /usr/local/maven/conf/settings.xml //打开配置文件在第158下面添加
公网服务器地址
3,配置数据库
yum -y install mariadb mariadb-server
systemctl start mariadb
[root@proxy ~]# cd ~/CMS/
cp src/main/resources/shishuocms.properties . //拷贝网站数据库
配置文件到当前目录,该文件定义了数据的用户名和密码等信息
mysql -uroot -p < sql/install.sql //导入网站相关数据库文件
Enter password: 直接回车
mysqladmin password //修改数据库密码
New password: //接下来输入12345678
Confirm new password: //在输入一次12345678
————————————————————————————-
如果密码输入错误
mysqladmin password -uroot -p
先输入旧密码,然后输入两次新密码
如果密码忘记
systemctl stop mariadb //停服务
yum -y remove mariadb-server //删除
rm -rf /var/lib/mysql/ //删除数据库文件,这样密码就没了
yum -y install mariadb-server //重装
systemctl start mariadb //启动数据库
——————————————————————————————-
4,利用maven打包项目
/usr/local/maven/bin/mvn clean package //按照之前定义的
公网服务器地址、数据库配置等内容打包项目,注意该命令要在CMS目录进行
rm -rf /usr/local/tomcat/webapps/ROOT //删除原有默认页面目录
cp target/shishuocms-2.0.1.war /usr/local/tomcat/webapps/ROOT.war
//将新项目移动到tomcat中,然后会自动解包
打开浏览器 访问 www.a.com:8080 看到“师说”页面则成功
如果真机无法解析www.a.com,或者tomcat配置文件有误,则按以下方式恢复
cp ~/lnmp_soft/apache-tomcat-8.0.30/conf/server.xml /usr/local/tomcat/conf/
cp: 是否覆盖 “/usr/local/tomcat/conf/server.xml”? y //把tomcat的配置
文件恢复默认
重启tomcat
然后真机打开浏览器访问192.168.99.5:8080看到“师说”页面则成功
