vue前端打包完之后,如何在tomcat上部署项目以及输入ip+端口即可访问
- 我们在开发项目时,总会遇到这样的问题:前端vue项目
npm run build
之后,会在根目录生成一个dist文件夹,访问文件夹下的index.html即可进入项目。 - 但是打包完之后如何部署到服务器呢?
- 如果后端是java,服务器使用的是tomcat,一个tomcat如何运行多个项目呢?
- 发布到tomcat上之后如何输入IP+端口即可进入dist文件夹呢?
我们这里前端vue+element-ui,后端使用java+springboot,服务器:阿里云、tomcat
- 现在服务器上面(linux或者window系统)配置好JDK(Java)环境。如何操作,可自行百度。
需要注意的是:tomcat最好配置环境变量,容易报错。JDK最好JAVA_HOME.
tomcat:
变量名:CATALINA_BASE 变量值:D:\apache-tomcat-8.0.28
变量名:CATALINA_HOME 变量值:D:\apache-tomcat-8.0.28
变量名:path 变量值:%CATALINA_HOME%\bin
变量名:path 变量值:%CATALINA_BASE%\bin
jdk:
变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_121
变量名:path 变量值:%JAVA_HOME%\bin
变量名:CLASS_PATH 变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar // 这里一般写个.就行
- 安装配置完之后,cmd控制台输入
startup
即可开启tomcat,浏览器输入localhost:8080
或者39.105.101.198:8080/
进入tomcat主页(这里的是我的服务器加端口号). - 把打包好的dist文件夹放在tomcat webapps文件夹下,这时候启动tomcat之后,就可以了
39.105.101.198:8080/dist
或者localhost:8080/dist
即可访问项目了。 - 如何把dist设置成默认的文件夹;如何设置多个端口号。
1.修改tomcat下面的conf文件夹下的server.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<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>
<!-- 第一个端口号 8111 -->
<Service name="Catalina1">
<Connector port="8111" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps1"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="D:/soft/apache-tomcat-9.0.27/webapps1/dist" path="" debug="0" reloadable="true"/>
</Host>
</Engine>
</Service>
<!-- 第二个端口号 8112 -->
<Service name="Catalina2">
<Connector port="8112" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina2" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps2"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="D:/soft/apache-tomcat-9.0.27/webapps2/dist" path="" debug="0" reloadable="true"/>
</Host>
</Engine>
</Service>
<!-- 第三个端口号 8112 -->
<Service name="Catalina3">
<Connector port="8113" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina3" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps3"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="D:/soft/apache-tomcat-9.0.27/webapps3/dist" path="" debug="0" reloadable="true"/>
</Host>
</Engine>
</Service>
</Server>
2.复制
webapps
文件夹,对应代码中的appBase=""
,每个webapps文件夹至少包含ROOT
文件夹,如图所示。
2.复制
conf
文件夹下的Catalina
文件夹,对应代码中的<Engine name="Catalina1" defaultHost="localhost">
,如图所示。
3.
cmd
运行startup
,访问地址即可。