培训第十九天(安装nginx代理tomcat)

上午

1、构建vue发行版本

复制代码
 [root@server ~]# cd eleme_web/
 [root@server eleme_web]# npm run buid    //项目未执行时运行该命令,创建发行版本
复制代码
 [root@server eleme_web]# cd dist/     //dist中包含发行版本的所有文件
 [root@server dist]# ls
 css  favicon.ico  img  index.html  js  nohup.out
 [root@server dist]# vim index.html
复制代码
 [root@server eleme_web]# nohup npm run serve&    //运行vue项目
 [root@server eleme_web]# mkdir /eleme
 [root@server eleme_web]# cp -r /root/eleme_web/dist/* /eleme/     //将项目整体移动到/eleme目录下
 [root@server eleme_web]# cd /usr/local/nginx/conf.d
 [root@server conf.d]# cp baibai.conf eleme.conf
 [root@server conf.d]# vim eleme.conf    //编辑.conf文件
    server {
               listen  80;
               server_name   www.eleme.com;
               root    /eleme;
               location  /  {
                        index   index.html;
               }
     }
 [root@server conf.d]# /usr/local/nginx/sbin/nginx
 在windows中的C:\Windows\System32\drivers\etc路径下的hosts文件中添加:10.0.0.10 www.eleme.com
 用浏览器访问www.eleme.com

2、java环境配置

jdk软件包路径:

https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz

复制代码
 [root@001 ~]# tar -zxvf jdk22.tar_\(1\).gz 
 [root@001 ~]# mv jdk-22.0.2/ /usr/local/jdk22
 [root@001 ~]# vim /etc/profile
 export JAVA_HOME=/usr/local/jdk22/
 export PATH=$JAVA_HOME/bin:$PATH
 [root@001 ~]# source /etc/profile    //运行profile
 [root@001 ~]# java      //测试
 用法:java [options] <mainclass> [args...]
            (执行类)
    或  java [options] -jar <jarfile> [args...]
            (执行 jar 文件)
    或  java [options] -m <module>[/<mainclass>] [args...]
        java [options] --module <module>[/<mainclass>] [args...]
            (执行模块中的主类)
    或  java [options] <sourcefile> [args]
            (执行源文件程序)
 [root@001 ~]# java -version   //测试
 java version "22.0.2" 2024-07-16
 Java(TM) SE Runtime Environment (build 22.0.2+9-70)
 Java HotSpot(TM) 64-Bit Server VM (build 22.0.2+9-70, mixed mode, sharing)

下午

1、安装tomcat软件

tomcat软件包路径:

https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz

复制代码
 [root@001 ~]# tar -zxvf apache-tomcat-10.1.26.tar.gz
 [root@001 ~]# mv apache-tomcat-10.1.26 /usr/local/tomcat/
 [root@001 ~]# ls /usr/local/tomcat/
 bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
 BUILDING.txt  lib              NOTICE     RUNNING.txt    work
 conf          LICENSE          README.md  temp
 [root@001 ~]# /usr/local/tomcat/bin/startup.sh  //开启tomcat服务
 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.
 [root@001 ~]# netstat -lntup | grep java
 tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      1273/java           
 tcp6       0      0 :::8080                 :::*                    LISTEN      1273/java 
复制代码
 [root@001 ~]# cd /usr/local/tomcat/logs/
 [root@001 logs]# tail -f catalina.2024-08-01.log   //查看你是否启动成功
 [root@001 logs]# tail -f localhost.2024-08-01.log
 [root@001 ~]# /usr/local/tomcat/bin/shutdown.sh  //停用tomcat服务
 [root@001 tomcat]# ls
 bin   logs   webapps  lib   work   conf   temp

2、tomcat目录介绍

(1)bin目录

复制代码
 [root@001 bin]# ls
 bootstrap.jar                 daemon.sh         shutdown.sh
 catalina.bat                  digest.bat        startup.bat
 catalina.sh                   digest.sh         startup.sh
 catalina-tasks.xml            makebase.bat      tomcat-juli.jar
 ciphers.bat                   makebase.sh       tomcat-native.tar.gz
 ciphers.sh                    migrate.bat       tool-wrapper.bat
 commons-daemon.jar            migrate.sh        tool-wrapper.sh
 commons-daemon-native.tar.gz  setclasspath.bat  version.bat
 configtest.bat                setclasspath.sh   version.sh
 configtest.sh                 shutdown.bat
 1、含有多个可执行文件,这些可执行文件在window和linux中是通用
 2、win10上优化之后上传到linux,只需要添加权限就可以了
 3、win对应的的文件的扩展名为bat(批处理文件)
 4、linux对应的文件的扩展名为sh
 5、startupsh.sh启动服务,shutdown.sh停止服务

(2)webapps目录

复制代码
 [root@001 tomcat]# cd webapps/
 [root@001 webapps]# mkdir myweb
 [root@001 myweb]# vim 1.txt
 i am jsp
 ......
 i am jsp
 [root@001 webapps]# vim myweb/a.jsp 
 i am jsp
 ......
 i am jsp
 ......
 <%=3+4 %>
 [root@001 webapps]# ls
 docs  examples  host-manager  manager  myweb  ROOT
 1、webapps目录中每个目录都是一个项目
 2、ROOT是默认的项目目录,在实际开发中,我们可以将程序打包成ROOT.war或者将目录名称修改为ROOT就可以直接发布
 3、使用10.0.0.20:8080直接访问的页面是ROOT目录下的index.jsp
 4、在这个目录下可以部署一些静态资源,可以使用浏览器查看,也可以使用下载
 5、还可以在该目录下创建新的文件夹作为项目发布
 要发布项目有两个选项:
 1、将项目移动到该目录下
 2、在conf/server.xml修改资源文件的位置  
 3、nginx默认的路径/usr/local/nginx/html,也可以在server中配置其他的绝对路径,不必须是在内部的html目录中

(3)work目录

复制代码
 [root@001 work]# tree 
 .
 └── Catalina
     └── localhost
         ├── docs
         │   └── org
         │       └── apache
         │               └── WEB_002dINF
         │                   └── jsp
         │                       ├── _403_jsp.class
         │                       └── _403_jsp.java
         ├── examples
         ├── host-manager
         ├── manager
         ├── myweb
         │   └── org
         │       └── apache
         │           └── jsp
         │               ├── a_jsp.class
         │               └── a_jsp.java
         └── ROOT
             └── org
                 └── apache
                     └── jsp
                         ├── index_jsp.class
                         └── index_jsp.java
 ​
 19 directories, 6 files
 1、将jsp还原成java和class文件
 2、保存的路径/usr/local/tomcat/work/Catalina/localhost/myweb/org/apache/jsp/xxx.java
 3、将jsp文件自动解析为java文件,不需要重启服务器

(4)logs目录

复制代码
 [root@001 logs]# ls -l
 总用量 32
 -rw-r-----. 1 root root 9069 8月   1 15:12 catalina.2024-08-01.log
 -rw-r-----. 1 root root 9069 8月   1 15:12 catalina.out
 -rw-r-----. 1 root root  414 8月   1 14:12 localhost.2024-08-01.log
 -rw-r-----. 1 root root 1096 8月   1 15:16 localhost_access_log.2024-08-01.txt
 1、日志文档
 2、catalina.log
 3、localhost.log
 4、都有相应的日期

(5)conf目录

复制代码
 [root@001 conf]# ls -l
 总用量 232
 drwxr-x---. 3 root root     23 8月   1 14:12 Catalina
 -rw-------. 1 root root  12926 7月   8 05:02 catalina.policy
 -rw-------. 1 root root   7693 7月   8 05:02 catalina.properties
 -rw-------. 1 root root   1411 7月   8 05:02 context.xml
 -rw-------. 1 root root   1149 7月   8 05:02 jaspic-providers.xml
 -rw-------. 1 root root   2313 7月   8 05:02 jaspic-providers.xsd
 -rw-------. 1 root root   4144 7月   8 05:02 logging.properties
 -rw-------. 1 root root   7126 7月   8 05:02 server.xml
 -rw-------. 1 root root   2756 7月   8 05:02 tomcat-users.xml
 -rw-------. 1 root root   2558 7月   8 05:02 tomcat-users.xsd
 -rw-------. 1 root root 172780 7月   8 05:02 web.xml
 [root@001 conf]# vim server.xml 
复制代码
 [root@001 conf]# vim web.xml 

(6)lib目录

复制代码
 [root@001 lib]# ls    //存放依赖文件
 annotations-api.jar                   tomcat-dbcp.jar            catalina-ant.jar                      tomcat-i18n-cs.jar
 catalina-ha.jar                       tomcat-i18n-de.jar         catalina.jar                          tomcat-i18n-es.jar
 catalina-ssi.jar                      tomcat-i18n-fr.jar         catalina-storeconfig.jar              tomcat-i18n-ja.jar
 catalina-tribes.jar                   tomcat-i18n-ko.jar         ecj-4.27.jar                          tomcat-i18n-pt-BR.jar
 el-api.jar                            tomcat-i18n-ru.jar         jakartaee-migration-1.0.8-shaded.jar  tomcat-i18n-zh-CN.jar
 jasper-el.jar                         tomcat-jdbc.jar            jasper.jar                            tomcat-jni.jar
 jaspic-api.jar                        tomcat-util.jar            jsp-api.jar                           tomcat-util-scan.jar
 servlet-api.jar                       tomcat-websocket.jar       tomcat-api.jar                        websocket-api.jar 
 tomcat-coyote-ffm.jar                 websocket-client-api.jar   tomcat-coyote.jar
 1、tomcat运行中为项目提供的依赖文件
 2、要访问

(7)temp目录

复制代码
 [root@001 temp]# ls     //存放临时文件
 safeToDelete.tmp

3、脚本安装jdk环境和tomcat网站

复制代码
 [root@001 ~]# vim jdk.sh 
 #!/bin/bash
 tar -zxvf jdk22.tar_\(1\).gz
 mv jdk-22.0.2/ /usr/local/jdk22
 sed -i '$a export JAVA_HOME=/usr/local/jdk22/' /etc/profile
 sed -i '$a export PATH=$JAVA_HOME/bin:$PATH' /etc/profile
 source /etc/profile
 java -version
 tar -zxvf apache-tomcat-10.1.26.tar.gz
 mv apache-tomcat-10.1.26 /usr/local/tomcat/
 /usr/local/tomcat/bin/startup.sh
 netstat -lntup | grep java
 tail -f /usr/local/tomcat/logs/catalina.2024-08-01.log
 [root@001 ~]# ssh-keygen 
 [root@001 ~]# ssh-copy-id root@10.0.0.30
 [root@001 ~]# ssh-copy-id root@10.0.0.40
 [root@001 ~]# scp /root/jdk.sh root@10.0.0.30:/root/
 [root@001 ~]# scp /root/jdk.sh root@10.0.0.40:/root/
 [root@002 ~]# sh jdk.sh 
 [root@003 ~]# sh jdk.sh 
复制代码
 [root@001 ~]# echo "i am dynamic jsp java server page, nameber is 001" > /usr/local/tomcat/webapps/ROOT/index.jsp
 [root@002 ~]# echo "i am dynamic jsp java server page, nameber is 002" > /usr/local/tomcat/webapps/ROOT/index.jsp
 [root@003 ~]# echo "i am dynamic jsp java server page, nameber is 003" > /usr/local/tomcat/webapps/ROOT/index.jsp

4、nginx代理tomcat服务

复制代码
 [root@server ~]# cd /usr/local/nginx/
 [root@server nginx]# cd conf.d/
 [root@server conf.d]# cp eleme.conf ele.conf
 [root@server conf.d]# ls
 baibai.conf  ele.conf  eleme.conf
 [root@server conf.d]# vim ele.conf
  server {
               listen  80;
               server_name   www.ele.com;
               location  /  {
                       proxy_pass      http://ele_group;
               }
     }
 [root@server conf.d]# cd /usr/local/nginx/conf/
 [root@server conf]# vim nginx.conf
 http {
     include       mime.types;
     default_type  application/octet-stream;
     sendfile        on;
     keepalive_timeout  65;
     upstream ele_group{
            server 10.0.0.20:8080;
            server 10.0.0.30:8080;
            server 10.0.0.40:8080;
     }
     include   ../conf.d/*.conf;
 [root@server conf]# /usr/local/nginx/sbin/nginx
 在C:\Windows\System32\drivers\etc下的hosts文件中添加:10.0.0.10 www.ele.com

错误解决:

复制代码
 [root@server conf.d]# vim ele.conf
 proxy_pass      http://elegroup;   //去掉下划线
 [root@server conf]# vim nginx.conf
 upstream elegroup{}       //去掉下划线

5、数据库

(1)关系型数据库

1、oracel

2、mysql

1、安装和配置

2、sql语句

3、优化

4、备份和安全

5、集群

1、主从

2、一主多从

3、增删改主机

4、从服务负责mysql查询

3、sql-server

(2)非关系型数据库

1、redis

2、cached

3、mongodb

准备:mysql 2台 8.33版本

相关推荐
尼克_张2 分钟前
tomcat配合geoserver安装及使用
java·tomcat
一只哒布刘36 分钟前
RHCE-DNS域名解析服务器
运维·服务器
致宏Rex1 小时前
Nginx 负载均衡详解 x Shell 脚本实战
nginx·负载均衡·运维开发
sss-web12261 小时前
4.远程访问及控制
运维·服务器
moneyxjj2 小时前
Linux各种解压命令汇总
linux·运维·服务器
脱了格子衬衫2 小时前
使用源码编译安装 Tomcat
linux·tomcat
陈yanyu2 小时前
Linux - 弯路系列3:安装和编译libvirt-4.5.0及虚拟网卡virbr0(virbr0-nic)创建
linux·运维·服务器
大风吹PP凉2 小时前
34Web服务器(如Apache, Nginx)
服务器·nginx·apache
tian-ming3 小时前
JavaWeb后端开发知识储备1
java·spring boot·nginx·spring·maven
逃跑的羊3 小时前
jenkins提交gitee后自动部署
运维·gitee·jenkins