Day 15
# 构建项目

[root@static-server eleme_web]# npm run build
# 将静态的项目移动到nginx
[root@static-server eleme_web]# ls
[root@static-server eleme_web]# ls dist/
css favicon.ico index.html js
[root@static-server eleme_web]# vim dist/index.html
[root@static-server eleme_web]# vim dist/index.html
[root@static-server eleme_web]# cd /usr/local/nginx/conf/
[root@static-server conf]# cd ..
[root@static-server nginx]# ls
client_body_temp html scgi_temp
conf logs uwsgi_temp
conf.d proxy_temp
fastcgi_temp sbin
[root@static-server nginx]# cd conf.d/
[root@static-server conf.d]# ls
hua.conf
[root@static-server conf.d]# cp hua.conf eleme.conf
[root@static-server conf.d]# vim eleme.conf
server{
listen 80;
server_name www.eleme.com;
root /eleme;
location / {
index index.html;
}
}
[root@static-server conf.d]#cd /usr/local/nginx/conf
[root@static-server conf]#vim nginx.conf
keepalive_timeout 65;
include ../conf.d/*.conf;
[root@static-server conf]#/usr/local/nginx/sbin/nginx
[root@static-server conf]#/usr/local/nginx/sbin/nginx -s reload
# 设置hosts劫持
[root@static-server ~]# vim /etc/hosts
192.168.2.22 www.huajuan.com
192.168.2.22 www.eleme.com
# 测试
发布一个动态服务
思路:先安装java环境,再配置tomcat
注意tomcat10要求jdk版本至少为11或11之后的版本jdk17安装
# 下载jdk22
java官网地址:Java Downloads | Oracle 中国
https://www.oracle.com/cn/java/technologies/downloads/
[root@dy001 ~]#wget https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz
# 解压
[root@dy001 ~]#tar -zxvf jdk-22.2.tar.gz
# 移动文件
[root@dy001 ~]#mv jdk-22.2/ /usr/local/jdk22
[root@dy001 ~]#vim /etc/profile
export JAVA_HOME=/usr/local/jdk22
PATH=$JAVA_HOME/bin:$PATH
或者使用流式编辑器写入
[root@dy001 ~]# sed -i '$aexport JAVA_HOME=/usr/local/jdk22/' /etc/profile
[root@dy001 ~]# sed -i '$aexport PATH=$JAVA_HOME/bin:$PATH' /etc/profile
# 运行profile
[root@dy001 ~]#source /etc/profile
[root@dy001 ~]#java
[root@dy001 ~]#java -version
java version "22.0.2" 2024-07-16
# 下载tomcat
[root@dy001~]#wget https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz
# 启动服务

[root@dy001~]#/usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk22
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
# 开放2个端口——8080和8005
netstat -lntpu|grep java
# 停用
/usr/local/tomcat/bin/shutdown.sh
# 最终效果

# tomcat常用的目录
1、bin
可执行文件,在window和linux通用,即在win10上优化后上传到linux只需要添加权限即可,win对应的文件的扩展名为bat,又称批处理文件;linux对应的文件扩展名为ssh;启动和通用文件为startup.sh和shutdown.sh。
2、Webapps
1)每个目录即为一个项目,但不一定每个项目都能发布出来;
2)ROOT是默认的项目目录,在实际开发中,我们可以将将程序打包成ROOT.war或者将目录名称修改为ROOT就可以直接发布;
3)使用10.1.1.20:8080直接访问的页面是ROOT目录下的
index.jsp
4)在这个目录下可以部署一些静态资源,可以使用浏览器查
看,也可以使用下载
5)用可以在该目录下创建新的文件夹作为项目发布
6)要发布项目有两个选项
3、conf文件
1)将项目移动该目录下
2)在conf/server.xml修改资源文件的位置
3)nginx 默认的路径/usr/local/nginx/html,也可以在server中;配置其他的绝对路径,不必须是在内部的html目录中。
[root@dy001 conf]# cat server.xml
[root@dy001 conf]# cat web.xml
[root@dy001 conf]# ls ../lib/
annotations-api.jar
catalina-ant.jar
catalina-ha.jar
catalina.jar
catalina-ssi.jar
catalina-storeconfig.jar
catalina-tribes.jar
ecj-4.27.jar
el-api.jar
jakartaee-migration-1.0.8-shaded.jar
jasper-el.jar
jasper.jar
jaspic-api.jar
jsp-api.jar
servlet-api.jar
tomcat-api.jar
tomcat-coyote-ffm.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-cs.jar
tomcat-i18n-de.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
tomcat-i18n-ko.jar
tomcat-i18n-pt-BR.jar
tomcat-i18n-ru.jar
tomcat-i18n-zh-CN.jar
tomcat-jdbc.jar
tomcat-jni.jar
tomcat-util.jar
tomcat-util-scan.jar
tomcat-websocket.jar
websocket-api.jar
websocket-client-api.jar
4、work
1)作用:将jsp还原成java和class文件
2)保存的路径
/usr/local/tomcat/work/Catalina/localhost/myweb/org/apache/jsp/xxx.java
3)自动将jsp解析为javav文件,不需要重启服务器
5、log——日志文档
catalina.log 、localhost.log,都有相应日期
6、lib
tomcat运行为项目提供的依赖文件;要访问没有数据,访问数据库的包

7、tmp
负载均衡
# 设置访问页面
[root@dy001 ~]# echo 'i am dynamic jsp java server page_number is 001' > /usr/local/tomcat/webapps/ROOT/index.jsp
[root@dy002 ~]# /usr/local/tomcat/bin/startup.sh

[root@dy002 ~]# echo 'i am dynamic jsp java server page_number is 002' > /usr/local/tomcat/webapps/ROOT/index.jsp
#重新启动服务
[root@dy002 ~]# /usr/local/tomcat/bin/startup.sh
Tomcat started.

[root@dy002 ~]# netstat -lntput|grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 4318/java
tcp6 0 0 :::8080 :::* LISTEN 4318/java
#使用nginx代理2台后端tomcat服务器
[root@static-server ~]# cd /usr/local/nginx/
[root@static-server nginx]# cd conf.d/
[root@static-server conf.d]# cp eleme.conf el.conf
[root@static-server conf.d]# ls
el.conf eleme.conf hua.conf
[root@static-server conf.d]#vim el.conf
server{
listen 80;
server_name www.el.com;
root /eleme;
location / {
proxy_pass http://elgroup;
}
}
[root@static-server ~]# mkdir /eleme
[root@static-server ~]# echo "hello, i am ele" >> /eleme/index.html
[root@static-server ~]# cat /el/index.html
Hello,i am elelme
hello, i am el
[root@static-server conf.d]#cd /usr/local/nginx/conf
[root@static-server conf]#vim nginx.conf
keepalive_timeout 65;
upstream elgroup {
server 192.168.2.31:8080;
server 192.168.2.32:8080;
}
include ../conf.d/*.conf;
[root@static-server conf]#
# 设置hosts劫持
[root@static-server ~]# vim /etc/hosts
192.168.2.22 www.huajuan.com
192.168.2.22 www.eleme.com
192.168.2.22 www.el.com
# 浏览器测试,发现访问192.168.2.22,轮流出现001和002的首页页面。



















