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

相关推荐
ZFB00018 分钟前
【麒麟桌面系统】V10-SP1 2503 系统知识——设置面板无法打开
linux·运维·kylin
2301_7809438438 分钟前
linux 对文件打补丁(Patch)
linux·运维·服务器
ICT董老师43 分钟前
通过kubernetes部署nginx + php网站环境
运维·nginx·云原生·容器·kubernetes·php
敬往事一杯酒哈1 小时前
Ubuntu 20.04 安装Anacada
linux·运维·ubuntu
还在忙碌的吴小二1 小时前
Jenkins CLI (jcli) 使用手册
运维·jenkins
ChangYan.1 小时前
Windows命令行(cmd)下快速查找文件路径(类似Linux下find命令)
linux·运维·服务器
陈让然1 小时前
VS Code新版本无法连接WSL ubuntu18.04
linux·运维·ubuntu
lpfasd1231 小时前
宝塔面板使用流程及注意事项
运维
小杰帅气1 小时前
神秘的环境变量和进程地址空间
linux·运维·服务器