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

相关推荐
乘云数字DATABUFF1 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--3 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森3 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB5 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode6 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220707 天前
如何搭建本地yum源(上)
运维
ping某8 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
大树8810 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠10 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql