培训第十九天(安装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版本

相关推荐
这周也會开心3 分钟前
云服务器安装JDK、Tomcat、MySQL
java·服务器·tomcat
蓁蓁啊3 小时前
GIT使用SSH 多账户配置
运维·git·ssh
程序猿小三5 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
虚拟指尖6 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
椎4957 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
刘某的Cloud7 小时前
parted磁盘管理
linux·运维·系统·parted
极验7 小时前
iPhone17实体卡槽消失?eSIM 普及下的安全挑战与应对
大数据·运维·安全
爱倒腾的老唐7 小时前
24、Linux 路由管理
linux·运维·网络
yannan201903137 小时前
Docker容器
运维·docker·容器
_清浅8 小时前
计算机网络【第六章-应用层】
运维·服务器·计算机网络