当前位置: 首页> 房产> 家装 > 腾讯静态网站托管_静态html怎么部署到服务器_太原百度快照优化排名_seo推广案例

腾讯静态网站托管_静态html怎么部署到服务器_太原百度快照优化排名_seo推广案例

时间:2025/7/9 7:28:01来源:https://blog.csdn.net/qq_63826739/article/details/143091445 浏览次数:0次
腾讯静态网站托管_静态html怎么部署到服务器_太原百度快照优化排名_seo推广案例

1. Java容器

用于存放与运行java代码的环境

java容器说明
Tomcat最常用,较重,功能完善.
Jetty轻量,功能较少.
Weblogic用于Oracle数据库环境使用,Weblogic属于甲骨文
东方通国产java容器

2. JVM-JRE-JDK

1. JVM:  java 虚拟机中,运行java代码的地方

2. JRE:java运行环境 . 提供jvm环境,java命令

3. JDK:  java开发环境 , jvm+jre+额外功能

3. 部署JDK

##配置JAVA环境变量,这里是是二进制安装需要配置(yum安装或rpm包方式安装就不需要配置)
mkdir -p /app/tools/   #创建目录
tar xf jdk-8u351-linux-x64.tar.gz -C /app/tools/   ##解压到指定目录
ln -s /app/tools/jdk1.8.0_351/  /app/tools/jdk    ##创建软连接
vim /etc/profile   ##配置环境变量
export JAVA_HOME=/app/tools/jdk
export PATH=$JAVA_HOME/bin/:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
source /etc/profile ##生效
java -version ##查看版本

4. 部署tomcat

##上传软件包
tar xf apache-tomcat-9.0.52.tar.gz -C /app/tools/ ##解压到指定目录
ln -s /app/tools/apache-tomcat-9.0.52/ /app/tools/tomcat  ##创建软连接
/app/tools/tomcat/bin/version.sh   ##检查jdk,tomcat信息

5. 启动tomcat

/app/tools/tomcat/bin/startup.sh  ##启动
##查看端口和进程
ss -lntup|grep java
ps -ef |grep java

 6. Tomcat目录结构

6.1 目录概述

目录说明
bin存放tomcat管理命令
conftomcat配置文件
lib依赖与库文件,插件文件
logs日志目录
webapps站点目录
worktomcat运行java代码的存放代码的目录

6.2 bin

bin目录说明
statrup.sh启动脚本
shutdown.sh关闭脚本
catalina.sh核心脚本,配置tomcat优化,jvm优化

6.3 conf

conf配置文件说明
server.xmltomcat配置文件
web.xml配置文件,辅助配置

6.4 logs日志

logs目录说明
catalina.out

tomcat应用日志,启动过程,关闭,错误信息

catalina.2024-10-20.logcatalina.out的切割日志.按照每天进行切割
localhost_access_log.2024-10-20.txt访问日志,未来可以重新定义名字和内容

6.5 webapps

1.站点目录

2.war包,自动解压,自动部署

7. Tomcat日常管理

7.1书写systemctl管理配置文件进行管理 日常启动与维护

systemctl配置文件的结构说明
[Unit]指定注释信息,依赖(先后顺序)
Description说明与注释
After在这里指定的服务之后运行. network.target
[Service]用于指定服务开启命令,关闭命令,重启命令
Type=notify指定类型 simple 或forking即可
ExecStart服务启动命令
ExecStop服务关闭命令
ExecReload重启命令
EnvironmentFile配置环境变量的文件(一般对于编译安装,二进制安装需要加上)
[Install]内容固定,用于指定运行级别
WantedBy=multi-user.target运行级别,一般都是多用户模式

7.2 tomcat systemctl 配置

#systemctl配置
vim  /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat Java Web Container
After=network.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/app/tools/tomcat/bin/startup.sh
ExecStop=/app/tools/tomcat/bin/shutdown.sh
ExecReload=/app/tools/tomcat/bin/startup.sh && /app/tools/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target##环境变量配置
vim  /etc/sysconfig/tomcat
JAVA_HOME=/app/tools/jdk
PATH=$JAVA_HOME/bin/:$JAVA_HOME/jre/bin:/usr/bin/:/usr/sbin/:/usr/local/bin/:/usr/local/sbin/
CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar##加载
systemctl daemon-reload
##启动
ststemctl start tomcat

8. 运行代码

1. 开发人员书写的java代码: java源代码,无法直接部署tomcat中

2. 需要对源代码进行编译: 生成war包或jar包 

如何运行java相关软件包说明
war包

需要放在java容器中运行,比如放到tomcat的webapps目录下.

(tomcat会自动加载与运行 war包内容)

jar包不需要java容器,内置tomcat,只需要jdk ,通过java -jar xxx.jar 运行

如何编译java源代码:

通过maven,Gradle把java源代码,编译生成war包或jar包.

war包案例,运行memtest.war包案例,放在webapps目录,然后访问即可

 jar包案例,运行指定的jar包(nginxwebUI)
yum install -y nginx  ##安装nginx
mkdir -p /home/nginxWebUI/ #创建目录
wget -O /home/nginxWebUI/nginxWebUI.jar
https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.4/nginxWebUI-4.2.4.jar ##将来可以把jar包放在指定目录下
java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8888 --project.home=/home/nginxWebUI/ >/dev/null &  ##访问端口是8888,定向到空并后台运行

9. Tomcat管理端

##修改配置文件 
vim /app/tools/tomcat/conf/tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"version="1.0"><role rolename="manager-gui"/><role rolename="admin-gui"/><user username="tomcat" password="1" roles="manager-gui,admin-gui"/> ##用户名tomcat 密码:1
</tomcat-users>
##修改代码
cd /app/tools/tomcat/webapps/
sed  -i 's#127#\\d+#g' ./host-manager/META-INF/context.xml  ./host-manager/WEB-INF/manager.xml  ./manager/META-INF/context.xml

输入用户名密码登录管理端 

10. 配置文件

/tomcat/conf/server.xml
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
## 8005 shutdown端口,连接这个端口输入shutdown字符,就可以关闭Tomcat.<GlobalNamingResources> ##配置 管理端认证功能<Resource name="UserDatabase" auth="Container"type="org.apache.catalina.UserDatabase"description="User database that can be updated and saved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory"pathname="conf/tomcat-users.xml" /></GlobalNamingResources><Connector port="8080" protocol="HTTP/1.1"  ###8080 处理用户的http请求的connectionTimeout="20000"redirectPort="8443" />   ##这里的8443是用于处理 https请求.<Engine name="Catalina" defaultHost="localhost">  ##engine部分,指定默认的虚拟主机<Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/></Realm><Host name="localhost"  appBase="webapps"  ## 指定localhost作为默认的虚拟主机unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host>
</Server>
区别tomcatnginx
虚拟主机Host部分server {}
域名name="域名"server_name
端口Connector部分 port="8080"listen 80
站点目录appBase="webapps"root /app/code/blog
自动解压unpackWARs="true"
自动部署autoDeploy="true" 加载到jvm中
日志目录<value 部分directory=logs>access_log /var/log/nginx/access.log main;
日志格式<value  部分parten=>log_format main

11. Tomcat部署zrlog应用

##先修改主机host部分
<Host name="zrlog.oldboylinux.cn"  appBase="webapps"unpackWARs="true" autoDeploy="true"

11.1 数据库

##在10.0.0.51 mariadb数据库
grant all on zrlog.* to 'zrlog' @'172.16.1.%' identified by '1';  ##创建用户
show databases ;
select user,host from mysql.user;

11.2 部署代码

##改名为zrlog.war后 移动到webapps目录
[root@tomcat_web01 ~]# ll /app/tools/tomcat/webapps/
total 11336
drwxr-x--- 15 root root     4096 Oct 20 13:44 docs
drwxr-x---  7 root root       99 Oct 20 13:44 examples
drwxr-x---  6 root root       79 Oct 20 13:44 host-manager
drwxr-x---  6 root root      114 Oct 20 13:44 manager
drwxr-x---  3 root root       41 Oct 20 14:38 memtest
-rw-r--r--  1 root root      643 Oct 20 14:37 memtest.war
drwxr-x---  8 root root      111 Oct 20 16:39 ROOT
-rw-r--r--  1 root root 11596673 Oct 20 16:34 zrlog.war
浏览器解析访问:http://zrlog.oldboylinux.cn:8080/zrlog

前台: http: zrlog.oldboylinux.cn:8080/zrlog/

后台管理: http: zrlog.oldboylinux.cn:8080/zrlog/admin/ 

 11.3 接入nginx

#nginx配置文件
server{listen 80;server_name zrlog.oldboylinux.cn;error_log /var/log/nginx/zrlog/error_log notice;access_log /var/log/nginx/zrlog/access_log main;location /{proxy_pass http://127.0.0.1:8080;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
nginx -t
systemctl reload nginx

11.4 优化

我们会发现用户访问的时候需要加上路径才可以,http://zrlog.oldboylinux.cn//zrlog​​​​​​,

ROOT 用户访问的时候不加上路径,直接访问文件,就会访问ROOT下面的内容

应用建议: 把应用war包和目录放在ROOT目录下面即可

或者直接把war包名改为ROOT.war 并将原来的ROOT目录删除即可

12. Tomcat多实例

场景:同一台主机上运行多个tomcat

原因:充分利用服务器资源

12.1 准备多个tomcat

tar xf apache-tomcat-9.0.65.tar.gz 
cp -r apache-tomcat-9.0.65  tomcat-8081
cp -r apache-tomcat-9.0.65  tomcat-8082
mv tomcat-808*  /app/tools/

12.2 修改配置

##修改tomcat-8081
sed  -i 's#8005#8006#g' tomcat-8081/conf/server.xml 
sed  -i 's#8080#8081#g' tomcat-8081/conf/server.xml 
##修改tomcat-8082
sed  -i 's#8005#8007#g' tomcat-8082/conf/server.xml 
sed  -i 's#8080#8082#g' tomcat-8082/conf/server.xml

12.3 手动启动

##手动启动
/app/tools/tomcat-8081/bin/startup.sh
/app/tools/tomcat-8082/bin/startup.sh
##写入内容测试
echo java xzb-tomcat 8082 >/app/tools/tomcat-8082/webapps/ROOT/index.jsp
echo java xzb-tomcat 8081 >/app/tools/tomcat-8081/webapps/ROOT/index.jsp

13. 监控功能

tomcat配置中修改tomcat启动的选项.开启jmx远程监控功能

13.1 步骤

C:\Program Files\Java\jdk1.8.0_201\bin\jconsole.exe

13.2 在windows下,通过jdk连接tomcat(模拟监控软件连接)

C:\Program Files\Java\jdk1.8.0_201\bin\jconsole.exe ##具体看自己jdk的位置

 

13.3 java监控命令

jps -lvm|grep tomcat   ##类似于ps -ef  grep  tomcat##1. 先过滤出java进程的pid
##2. 查看java进程的线程信息
##3. jstack  1786
##4. 查看java线程状态
jstack  1786 |grep -i statejmap -heap java-pid ##导出java进程的jvm内存使用情况

14. 搭建前后端分离项目

1. 前端,后端下载的代码是源代码

2. 前端代码需要编译,nodejs环境编译静态资源(html,css,js) >>>>>>nginx中

3. 后端代码java, 通过maven/gradle编译war包/jar包运行

14.1 数据库准备

二进制部署mysql8.0
##准备安装目录
mkdir -p /app/tools/mysql/
##准备数据目录
mkdir -p /app/data/3306/
##安装依赖
yum install -y  ncurses ncurses-devel libaio-devel 
openssl openssl-devel 
##解压到目录中
tar xf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz  -C /app/tools/mysql/
##创建软连接
cd /app/tools/mysql/
ln -s mysql-8.0.30-linux-glibc2.12-x86_64/ /app/tools/mysql/mysql
###配置文件,创建用户
useradd -s /sbin/nologin  -M mysql
###设置配置文件
vim /etc/my.cnf
[mysqld]
user=mysql  ##用户
basedir=/app/tools/mysql/mysql/  ##安装目录
datadir=/app/data/3306/   ##数据目录
port=3306                      
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
##修改目录所有者
chown mysql.mysql /etc/my.cnf
chown -R mysql.mysql /app/data/3306/
#配置PATH环境变量
echo 'export PATH=/app/tools/mysql/mysql/bin:$PATH' >>/etc/profile
source /etc/profile
##检查
mysql -V
##初始化数据库(不需要重复运行,重复运行会报错)
mysqld --initialize-insecure --user=mysql --basedir=/app/tools/mysql/mysql --datadir=/app/data/3306/
##检查
echo $?  ##返回值为0表示成功
#拷贝已经准备好的启动管理文件
cp /app/tools/mysql/mysql/support-files/mysql.server  /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
#开机自启动服务,运行服务
systemctl enable mysqld
systemctl start mysqld
##查看端口
ss -lntup 
##登录
mysql
##进入数据库
mysql
##创建exam数据库并指定字符集.
create database exam charset utf8mb4;
##创建用户
create user exam@'172.16.1.%' identified with mysql_native_password by  '1';
#授权
grant all  on exam.* to exam@'172.16.1.%';
#测试
mysql -uexam  -p1  -h 172.16.1.52  ##-u接用户名,-p接密码,-h接主机地址
##导入数据库文件
mysql   exam  <xzs-mysql.sql

14.2 部署后端

##准备前后端目录
mkdir -p /app/code/exam/{front,backend}
##上传代码目录  xzs-3.0.9-war
##解压
cd /app/code/exam/backend/
##创建配置文件
cat> application-prod.yml<<'EOF'logging:path: /usr/log/xzs/spring:datasource:url: jdbc:mysql://172.16.1.52:3306/exam?  ##数据库地址  useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=trueusername: exam                             ##数据库用户password: 1                               ##数据库密码driver-class-name: com.mysql.cj.jdbc.Driver
EOF
##后台启动
java -Duser.timezone=Asia/Shanghai -jar -Dspring.profiles.active=prod  xzs-3.9.0.jar >start1.log 2>&1 &  
##查看是否有8000端口
ss -lntup

##测试与访问

http://10.0.0.9:8000/student    学生端     student     123456

http://10.0.0.9:8000/admin       管理端    admin       123456

14.3 部署前端

##启动nginx,编写配置文件
vim /etc/nginx/conf.d/exam.conf
server{listen 80;server_name admin.oldboylinux.cn;root /app/code/exam/admin;location / {index index.html;}location /api/ {proxy_pass http://localhost:8000;}
}server{listen 80;server_name student.oldboylinxu.cn;root /app/code/exam/admin;location / {index index.html;} location /api/ {proxy_pass http://localhost:8000;}
}

##测试访问

http://admin.oldboylinux.cn

http://student.oldboylinxu.cn

关键字:腾讯静态网站托管_静态html怎么部署到服务器_太原百度快照优化排名_seo推广案例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: