精华内容
下载资源
问答
  • 前言: 之前写了部署tomcat部署thrift. 那么到了最后一步,怎么将整个项目跑通。 thrift(指定版本0.11.0)的安装,算法中间件的...linux配置tomcat环境,并加载java web项目: https://blog.csdn.net/pmdrea...

    前言:

    之前写了部署tomcat和部署thrift.

    那么到了最后一步,怎么将整个项目跑通。

    thrift(指定版本0.11.0)的安装,算法中间件的部署:

    https://blog.csdn.net/pmdream/article/details/100631605

    linux配置tomcat环境,并加载java web项目:

    https://blog.csdn.net/pmdream/article/details/100991234

    1. 项目部署遇到的问题

    1.1 出现org.apache.catalina.LifecycleException: Failed to start component

    24-Sep-2019 17:07:29.865 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/home/dc2-user/tomcat/webapps/xxx.war]
    24-Sep-2019 17:07:34.080 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
            org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ThriftMiddleware]]
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
                    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
                    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
                    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:970)
                    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1841)
                    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                    at java.lang.Thread.run(Thread.java:748)
            Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> [/*.html] in servlet mapping
                    at org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3175)
                    at org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3162)
                    at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1376)
                    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1156)
                    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:769)
                    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
                    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
                    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5063)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                    ... 10 more
    24-Sep-2019 17:07:34.081 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [/home/dc2-user/tomcat/webapps/xxx.war]
            java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ThriftMiddleware]]
                    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:747)
                    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
                    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
                    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:970)
                    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1841)
                    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                    at java.lang.Thread.run(Thread.java:748)

    这个原因是因为之前项目用的是resin

    现在转成tomcat

    所以mvc的项目需要将web.xml文件中的部分resin内容注释掉

    <servlet>
        <servlet-name>resin-file</servlet-name>
        <servlet-class>com.caucho.servlets.FileServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>resin-file</servlet-name>
        <url-pattern>/*.html</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>resin-file</servlet-name>
        <url-pattern>/static/*</url-pattern>
    </servlet-mapping>

    这些内容注释掉

    1.2 org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [xxxProject] appears to have started a thread named [ScheduledService-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

    这个线程需要处理。

    很可能会造成内存泄漏

    memory leak

    1.3 地址8080也能出现tomcat 但是访问不通接口

    怀疑是因为项目没有启动成功。

    可是项目的log一直在打印啊。

    <!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Message</b> &#47;detect&#47;img</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/8.5.45</h3></body></html>

    输出的结果是这样

    原因:

    因为我项目打了war包,war包解压了一个文件夹为项目名

    所以接口必须带上xxx.xxx:8080/项目名 这样才能访问到端口。

    1.4 修改tomcat默认项目路径

     

    1.5 在linux访问8080

    curl http://localhost:8080

    来看看是否调通。

     

    展开全文
  • 安装文件是mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz,将解压后的mysql文件放在/usr/local目录下。 在mysql的scripts目录下执行 ./mysql_install_db --user=deploy --basedir=/usr/local/mysql --datadir=/usr/...

    安装文件是mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz,将解压后的mysql文件放在/usr/local目录下。

    在mysql的scripts目录下执行 ./mysql_install_db --user=deploy --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data命令

    第一次执行的时候确实以来,补上以来即可,第二次执行以上命令执行成功;提示信息如下:

    Installing MySQL system tables...2016-07-11 11:05:32 0 [Warning] Ignoring user change to 'deploy' because the user was set to 'mysql' earlier on the command line
    
    2016-07-11 11:05:32 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.31) starting as process 22775 ...
    OK
    
    Filling help tables...2016-07-11 11:05:34 0 [Warning] Ignoring user change to 'deploy' because the user was set to 'mysql' earlier on the command line
    
    2016-07-11 11:05:34 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.31) starting as process 22798 ...
    OK
    
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:
    
      /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
      /usr/local/mysql/bin/mysqladmin -u root -h ubuntu password 'new-password'
    
    Alternatively you can run:
    
      /usr/local/mysql/bin/mysql_secure_installation
    
    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.
    
    See the manual for more instructions.
    
    You can start the MySQL daemon with:
    
      cd . ; /usr/local/mysql/bin/mysqld_safe &
    
    You can test the MySQL daemon with mysql-test-run.pl
    
      cd mysql-test ; perl mysql-test-run.pl
    
    Please report any problems at http://bugs.mysql.com/
    
    The latest information about MySQL is available on the web at
    
      http://www.mysql.com
    
    Support MySQL by buying support/licenses at http://shop.mysql.com
    
    WARNING: Found existing config file /usr/local/mysql/my.cnf on the system.
    Because this file might be in use, it was not replaced,
    but was used in bootstrap (unless you used --defaults-file)
    and when you later start the server.
    The new default config file was created as /usr/local/mysql/my-new.cnf,
    please compare it with your file and take the changes you need.
    
    WARNING: Default config file /etc/mysql/my.cnf exists on the system
    This file will be read by default by the MySQL server
    If you do not want to use this, either remove it, or use the
    --defaults-file argument to mysqld_safe when starting the server

    是提示部署的时候没有使用mysql用户进行执行,以及提示设置为开机启动的方式和设置root密码

    忽略,直接运行/usr/local/mysql/bin/mysqld 开始Mysql服务。为什么是mysqld呢?start参数呢?不知道,加上start后,会提示参数多余,而结束的时候只能kill掉线程。

    启动将不成功,因为会出现这个网址的问题点击打开链接,也就是mysql提示为了安全起见不要使用root身份进行开启服务,详情见链接。

    于是可以执行:sudo -u mysql /usr/local/mysql/bin/mysqld这个命令可以成功开启服务。另一个方式是在my.cnf配置文件中的[mysqld]下添加user=mysql来指定使用mysql进行启动。

    另外配置文件中

    [mysqld]
    
    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M
    
    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin
    
    # These are commonly set, remove the # and set as required.
    # basedir = D:\mysql5.6
    # datadir =D:\mysql5.6\data
    # port = .....
    # server_id = .....
    
    
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M 
    
    character_set_server=utf8
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    最好在[mysqld]、[client]、[mysql]下添加设置默认编码utf8,以免在使用数据库时中文乱码。

    需要注意的是,mysql服务启动时,会读取配置文件my.cnf,而在操作系统中可以有多个配置文件,详见这里点击打开链接,关于多个配置mysql读取的优先级。

    对了,关于数据库配置文件方面,添加lower_case_table_names=1表示不区分大小写,=0为区分大小写,比如表名列明的大小写。如果想避免大小的想问题,可以你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。

    最后附上关于sql_mode的配置博客点击打开链接

    由于是部署,所以把之前的数据要导入到新的数据库,有关数据库表和数据导出的资料点击打开链接

    关于tomcat接收http get请求时的中文乱码,可以查看点击打开链接


    展开全文
  • 不过有些项目还是使用Spring MVC的,所以还是需要Tomcat安装和部署。 war包War包是在进行Java Web开发时打包的格式,里面包括java代码还可能有有html,css和javascript等前端代码;开发完成后,都需要把源码打包成War...

    1 前言

    现在一般情况下,很少需要单独部署``tomcat,毕竟Spring boot打的jar包,可以用自带的内置tomcat`,用这个不香吗?

    不过有些项目还是使用Spring MVC的,所以还是需要Tomcat安装和部署

    war包

    War包是在进行Java Web开发时打包的格式,里面包括java代码还可能有有html,css和javascript等前端代码

    开发完成后,都需要把源码打包成War到Linux服务器上进行发布。

    War包一般放在Tomcat下的webapps下,随着tomcat服务器的启动,它可以自动被解压

    2 Tomcat安装

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用;

    Tomcat是其中一个开源的且免费的java Web服务器,是Apache软件基金会的项目,所以安装Tomcat之前要安装java JDk。

    默认我们的服务器是有JDK,没有的话,请自行安装,这里不再赘述;

    e9a99dea1314cc1e197e0960ee4563c9.png
    下载tomcat

    83c8756c0ba5fab195b3e768fe9b26f2.png

    我们这里使用的是Tomcat9, 下载地址

    9addae638285e52146cccda0ad24ee4d.png

    这里我们使用的是apache-tomcat-9.0.37.tar.gz

    可以手动下载,也可以在服务器上使用wget命令下载

    [root@10 opt]# wget http://apache.mirrors.pair.com/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
    

    3a51c36bb5deb541c603fd47a2c3cdcf.png
    解压
    [root@10 opt]# tar -xvf apache-tomcat-9.0.37.tar.gz
    

    194dc0b2335c6f90d7fa7d4be73be139.png
    进入 apache-tomcat-9.0.37
    [root@10 apache-tomcat-9.0.37]# ll
    总用量 144
    drwxr-x--- 2 root root  4096 8月  15 09:07 bin
    -rw-r----- 1 root root 18982 7月   1 04:14 BUILDING.txt
    drwx------ 2 root root  4096 7月   1 04:14 conf
    -rw-r----- 1 root root  5409 7月   1 04:14 CONTRIBUTING.md
    drwxr-x--- 2 root root  4096 8月  15 09:07 lib
    -rw-r----- 1 root root 57092 7月   1 04:14 LICENSE
    drwxr-x--- 2 root root  4096 7月   1 04:09 logs
    -rw-r----- 1 root root  2333 7月   1 04:14 NOTICE
    -rw-r----- 1 root root  3255 7月   1 04:14 README.md
    -rw-r----- 1 root root  6898 7月   1 04:14 RELEASE-NOTES
    -rw-r----- 1 root root 16262 7月   1 04:14 RUNNING.txt
    drwxr-x--- 2 root root  4096 8月  15 09:07 temp
    drwxr-x--- 7 root root  4096 7月   1 04:12 webapps
    drwxr-x--- 2 root root  4096 7月   1 04:09 work
    
    进入 bin 目录
    [root@10 apache-tomcat-9.0.37]# cd bin/
    [root@10 bin]# ll
    总用量 876
    -rw-r----- 1 root root  35926 7月   1 04:11 bootstrap.jar
    -rw-r----- 1 root root  16608 7月   1 04:11 catalina.bat
    -rwxr-x--- 1 root root  25245 7月   1 04:12 catalina.sh
    -rw-r----- 1 root root   1664 7月   1 04:14 catalina-tasks.xml
    -rw-r----- 1 root root   2123 7月   1 04:11 ciphers.bat
    -rwxr-x--- 1 root root   1997 7月   1 04:12 ciphers.sh
    -rw-r----- 1 root root  25197 7月   1 04:11 commons-daemon.jar
    -rw-r----- 1 root root 206895 7月   1 04:12 commons-daemon-native.tar.gz
    -rw-r----- 1 root root   2040 7月   1 04:11 configtest.bat
    -rwxr-x--- 1 root root   1922 7月   1 04:12 configtest.sh
    -rwxr-x--- 1 root root   9100 7月   1 04:12 daemon.sh
    -rw-r----- 1 root root   2091 7月   1 04:11 digest.bat
    -rwxr-x--- 1 root root   1965 7月   1 04:12 digest.sh
    -rw-r----- 1 root root   3606 7月   1 04:11 makebase.bat
    -rwxr-x--- 1 root root   3382 7月   1 04:12 makebase.sh
    -rw-r----- 1 root root   3460 7月   1 04:11 setclasspath.bat
    -rwxr-x--- 1 root root   3708 7月   1 04:12 setclasspath.sh
    -rw-r----- 1 root root   2020 7月   1 04:11 shutdown.bat
    -rwxr-x--- 1 root root   1902 7月   1 04:12 shutdown.sh
    -rw-r----- 1 root root   2022 7月   1 04:11 startup.bat
    -rwxr-x--- 1 root root   1904 7月   1 04:12 startup.sh
    -rw-r----- 1 root root  49301 7月   1 04:11 tomcat-juli.jar
    -rw-r----- 1 root root 419572 7月   1 04:12 tomcat-native.tar.gz
    -rw-r----- 1 root root   4574 7月   1 04:11 tool-wrapper.bat
    -rwxr-x--- 1 root root   5540 7月   1 04:12 tool-wrapper.sh
    -rw-r----- 1 root root   2026 7月   1 04:11 version.bat
    -rwxr-x--- 1 root root   1908 7月   1 04:12 version.sh
    
    启动 tomcat
    [root@10 bin]# sh startup.sh 
    Using CATALINA_BASE:   /opt/apache-tomcat-9.0.37
    Using CATALINA_HOME:   /opt/apache-tomcat-9.0.37
    Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.37/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /opt/apache-tomcat-9.0.37/bin/bootstrap.jar:/opt/apache-tomcat-9.0.37/bin/tomcat-juli.jar
    Tomcat started.
    
    开启防火墙

    默认端口是8080,防火墙开启8080端口

    cd /etc/sysconfig
    vim iptables
    
    #添加
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
    
    #重启
    service iptables restart
    
    #若不想修改iptables表,可以直接输入下面命令
    # linux iptables开放端口命令
    iptables -I INPUT -p tcp --dport 8080 -j ACCEPT  
    

    31fa69af08097f454450c0f1d8016fc7.png

    OK,Tomcat部署成功, 访问正常;

    小知识扩展:如何通过端口,找出执行程序所在位置
    [root@10 bin]# lsof -i:8080
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    26236 root   56u  IPv6 795405      0t0  TCP *:webcache (LISTEN)
    [root@10 bin]# netstat -antlp|grep 8080
    tcp        0      0 :::8080                     :::*                        LISTEN      26236/java          
    [root@10 bin]# cd /proc/26236
    [root@10 26236]# ll
    总用量 0
    dr-xr-xr-x  2 root root 0 8月  15 09:16 attr
    -rw-r--r--  1 root root 0 8月  15 09:17 autogroup
    -r--------  1 root root 0 8月  15 09:17 auxv
    -r--r--r--  1 root root 0 8月  15 09:17 cgroup
    --w-------  1 root root 0 8月  15 09:17 clear_refs
    -r--r--r--  1 root root 0 8月  15 09:13 cmdline
    -rw-r--r--  1 root root 0 8月  15 09:17 comm
    -rw-r--r--  1 root root 0 8月  15 09:17 coredump_filter
    -r--r--r--  1 root root 0 8月  15 09:17 cpuset
    lrwxrwxrwx  1 root root 0 8月  15 09:17 cwd -> /opt/apache-tomcat-9.0.37/bin
    ...
    ...
    

    85ba043abe5819d9e9d5ee8f9aeb1b35.png

    3 部署war应用

    我们以Jenkins为例:

    FTP上传到服务器

    我这里使用wget直接下载!

    bd7a2be992f092fa69fab1b2c70dd083.png
    wget http://mirrors.jenkins-ci.org/war/2.252/jenkins.war
    
    重启服务
    [root@10 apache-tomcat-9.0.37]# cd bin/
    [root@10 bin]# sh shutdown.sh
    [root@10 bin]# sh startup.sh
    
    默认访问路径是 Ip:8080/productName

    7fdacaaa24fa79c508e2a5e2a5301476.png
    如何去掉productName 这层路径

    5f2cfdfaadef494ea5ee255ac58306da.png

    e4704eeb218c182665203ad66034d46f.png
    <Context path="" docBase="jenkins" reloadable="true"></Context>
    
    #docBase要改成你的项目目录。
    #path为虚拟路径,访问时的路径,注意:不是根目录的,如果是其他路径比如"/test"一定要加"/"" debug建议设置为0
    #reloadable设置为true
    
    <Context path="/test" docBase="jenkins" reloadable="true"></Context>
    

    ae32d7c43e5d0a3d28658cad60c88b11.png

    然后,重启Tomcat

    [root@10 bin]# sh shutdown.sh 
    Using CATALINA_BASE:   /opt/apache-tomcat-9.0.37
    Using CATALINA_HOME:   /opt/apache-tomcat-9.0.37
    Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.37/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /opt/apache-tomcat-9.0.37/bin/bootstrap.jar:/opt/apache-tomcat-9.0.37/bin/tomcat-juli.jar
    [root@10 bin]# sh startup.sh 
    Using CATALINA_BASE:   /opt/apache-tomcat-9.0.37
    Using CATALINA_HOME:   /opt/apache-tomcat-9.0.37
    Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.37/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /opt/apache-tomcat-9.0.37/bin/bootstrap.jar:/opt/apache-tomcat-9.0.37/bin/tomcat-juli.jar
    Tomcat started.
    

    40d968d4a580207e76b4d4a1cdf9df16.png

    本文完结!

    展开全文
  • 不过有些项目还是使用Spring MVC的,所以还是需要Tomcat安装和部署。war包War包是在进行Java Web开发时打包的格式,里面包括java代码还可能有有html,css和javascript等前端代码;开发完成后,都需要把源码打包成W...

    1 前言

    现在一般情况下,很少需要单独部署tomcat,毕竟Spring boot打的jar包,可以用自带的内置tomcat`,用这个不香吗?

    不过有些项目还是使用Spring MVC的,所以还是需要Tomcat安装和部署

    war包

    War包是在进行Java Web开发时打包的格式,里面包括java代码还可能有有html,css和javascript等前端代码

    开发完成后,都需要把源码打包成War到Linux服务器上进行发布。

    War包一般放在Tomcat下的webapps下,随着tomcat服务器的启动,它可以自动被解压

    2 Tomcat安装

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用;

    Tomcat是其中一个开源的且免费的java Web服务器,是Apache软件基金会的项目,所以安装Tomcat之前要安装java JDk。

    默认我们的服务器是有JDK,没有的话,请自行安装,这里不再赘述;

    3ad7207d71f790c2ec5e81dfa0e5a791.png

    下载tomcat

    fc21fec93248cbcff4d5d0d9214ce3a0.png

    我们这里使用的是Tomcat9, 下载地址

    dec43a99fe48fe72586658747d4c6b3e.png

    这里我们使用的是apache-tomcat-9.0.37.tar.gz

    可以手动下载,也可以在服务器上使用wget命令下载

    [root@10 opt]# wget http://apache.mirrors.pair.com/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
    c6aaf89b4111c65e1e1a9356484e9d50.png

    解压

    [root@10 opt]# tar -xvf apache-tomcat-9.0.37.tar.gz
    cfe6318b7c458a28fb6b7ef9c6c714d2.png

    进入 apache-tomcat-9.0.37

    [root@10 apache-tomcat-9.0.37]# ll
    总用量 144
    drwxr-x--- 2 root root  4096 8月  15 09:07 bin
    -rw-r----- 1 root root 18982 7月   1 04:14 BUILDING.txt
    drwx------ 2 root root  4096 7月   1 04:14 conf
    -rw-r----- 1 root root  5409 7月   1 04:14 CONTRIBUTING.md
    drwxr-x--- 2 root root  4096 8月  15 09:07 lib
    -rw-r----- 1 root root 57092 7月   1 04:14 LICENSE
    drwxr-x--- 2 root root  4096 7月   1 04:09 logs
    -rw-r----- 1 root root  2333 7月   1 04:14 NOTICE
    -rw-r----- 1 root root  3255 7月   1 04:14 README.md
    -rw-r----- 1 root root  6898 7月   1 04:14 RELEASE-NOTES
    -rw-r----- 1 root root 16262 7月   1 04:14 RUNNING.txt
    drwxr-x--- 2 root root  4096 8月  15 09:07 temp
    drwxr-x--- 7 root root  4096 7月   1 04:12 webapps
    drwxr-x--- 2 root root  4096 7月   1 04:09 work

    进入 bin 目录

    [root@10 apache-tomcat-9.0.37]# cd bin/
    [root@10 bin]# ll
    总用量 876
    -rw-r----- 1 root root  35926 7月   1 04:11 bootstrap.jar
    -rw-r----- 1 root root  16608 7月   1 04:11 catalina.bat
    -rwxr-x--- 1 root root  25245 7月   1 04:12 catalina.sh
    -rw-r----- 1 root root   1664 7月   1 04:14 catalina-tasks.xml
    -rw-r----- 1 root root   2123 7月   1 04:11 ciphers.bat
    -rwxr-x--- 1 root root   1997 7月   1 04:12 ciphers.sh
    -rw-r----- 1 root root  25197 7月   1 04:11 commons-daemon.jar
    -rw-r----- 1 root root 206895 7月   1 04:12 commons-daemon-native.tar.gz
    -rw-r----- 1 root root   2040 7月   1 04:11 configtest.bat
    -rwxr-x--- 1 root root   1922 7月   1 04:12 configtest.sh
    -rwxr-x--- 1 root root   9100 7月   1 04:12 daemon.sh
    -rw-r----- 1 root root   2091 7月   1 04:11 digest.bat
    -rwxr-x--- 1 root root   1965 7月   1 04:12 digest.sh
    -rw-r----- 1 root root   3606 7月   1 04:11 makebase.bat
    -rwxr-x--- 1 root root   3382 7月   1 04:12 makebase.sh
    -rw-r----- 1 root root   3460 7月   1 04:11 setclasspath.bat
    -rwxr-x--- 1 root root   3708 7月   1 04:12 setclasspath.sh
    -rw-r----- 1 root root   2020 7月   1 04:11 shutdown.bat
    -rwxr-x--- 1 root root   1902 7月   1 04:12 shutdown.sh
    -rw-r----- 1 root root   2022 7月   1 04:11 startup.bat
    -rwxr-x--- 1 root root   1904 7月   1 04:12 startup.sh
    -rw-r----- 1 root root  49301 7月   1 04:11 tomcat-juli.jar
    -rw-r----- 1 root root 419572 7月   1 04:12 tomcat-native.tar.gz
    -rw-r----- 1 root root   4574 7月   1 04:11 tool-wrapper.bat
    -rwxr-x--- 1 root root   5540 7月   1 04:12 tool-wrapper.sh
    -rw-r----- 1 root root   2026 7月   1 04:11 version.bat
    -rwxr-x--- 1 root root   1908 7月   1 04:12 version.sh

    启动 tomcat

    [root@10 bin]# sh startup.sh 
    Using CATALINA_BASE:   /opt/apache-tomcat-9.0.37
    Using CATALINA_HOME:   /opt/apache-tomcat-9.0.37
    Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.37/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /opt/apache-tomcat-9.0.37/bin/bootstrap.jar:/opt/apache-tomcat-9.0.37/bin/tomcat-juli.jar
    Tomcat started.

    开启防火墙

    默认端口是8080,防火墙开启8080端口

    cd /etc/sysconfig
    vim iptables

    #
    添加
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

    #
    重启
    service iptables restart

    #
    若不想修改iptables表,可以直接输入下面命令
    # linux iptables开放端口命令
    iptables -I INPUT -p tcp --dport 8080 -j ACCEPT  
    cca134c87c2e8e3751e9937cb6a9b0f3.png

    OK,Tomcat部署成功, 访问正常;

    小知识扩展:如何通过端口,找出执行程序所在位置

    [root@10 bin]# lsof -i:8080
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    26236 root   56u  IPv6 795405      0t0  TCP *:webcache (LISTEN)
    [root@10 bin]# netstat -antlp|grep 8080
    tcp        0      0 :::8080                     :::*                        LISTEN      26236/java          
    [root@10 bin]# cd /proc/26236
    [root@10 26236]# ll
    总用量 0
    dr-xr-xr-x  2 root root 0 8月  15 09:16 attr
    -rw-r--r--  1 root root 0 8月  15 09:17 autogroup
    -r--------  1 root root 0 8月  15 09:17 auxv
    -r--r--r--  1 root root 0 8月  15 09:17 cgroup
    --w-------  1 root root 0 8月  15 09:17 clear_refs
    -r--r--r--  1 root root 0 8月  15 09:13 cmdline
    -rw-r--r--  1 root root 0 8月  15 09:17 comm
    -rw-r--r--  1 root root 0 8月  15 09:17 coredump_filter
    -r--r--r--  1 root root 0 8月  15 09:17 cpuset
    lrwxrwxrwx  1 root root 0 8月  15 09:17 cwd -> /opt/apache-tomcat-9.0.37/bin
    ...
    ...
    8b70e6cfea4f3f0253ed49bf7d903496.png

    3 部署war应用

    我们以Jenkins为例:

    FTP上传到服务器

    我这里使用wget直接下载!785e2bc7a352b1e2d052b43d32fb41ee.png

    wget http://mirrors.jenkins-ci.org/war/2.252/jenkins.war

    重启服务

    [root@10 apache-tomcat-9.0.37]# cd bin/
    [root@10 bin]# sh shutdown.sh
    [root@10 bin]# sh startup.sh

    默认访问路径是 Ip:8080/productName

    5a891497f3efdc35d5f3895faab8b808.png

    如何去掉productName 这层路径

    75f7eadbb1eef04695a58f19370eff1e.png
    2555a0a23824560f4563df48dc19de95.png
    <Context path="" docBase="jenkins" reloadable="true">Context>

    #docBase要改成你的项目目录。
    #path为虚拟路径,访问时的路径,注意:不是根目录的,如果是其他路径比如"/test"一定要加"/"" debug建议设置为0
    #reloadable设置为true

    <Context path="/test" docBase="jenkins" reloadable="true">Context>
    bfc4439099e9b519ac8b3189d4a6a7bf.png

    然后,重启Tomcat

    [root@10 bin]# sh shutdown.sh 
    Using CATALINA_BASE:   /opt/apache-tomcat-9.0.37
    Using CATALINA_HOME:   /opt/apache-tomcat-9.0.37
    Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.37/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /opt/apache-tomcat-9.0.37/bin/bootstrap.jar:/opt/apache-tomcat-9.0.37/bin/tomcat-juli.jar
    [root@10 bin]# sh startup.sh 
    Using CATALINA_BASE:   /opt/apache-tomcat-9.0.37
    Using CATALINA_HOME:   /opt/apache-tomcat-9.0.37
    Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.37/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /opt/apache-tomcat-9.0.37/bin/bootstrap.jar:/opt/apache-tomcat-9.0.37/bin/tomcat-juli.jar
    Tomcat started.
    6dbfb2000ee4b5dc20deb51c7c9dab0d.png

    本文完结!

    展开全文
  • 笔记本是Windows系统,用virtualbox装了个小红帽,把Windows的web项目用myeclipse导出为war包,放到linuxtomcat的webapps中。在Windows的浏览器中打开(http://192.168.0.201:8080/pracproject/demo.html),发现...
  • mvc: static-path-pattern: /static/** resources: static-locations: classpath:/static thymeleaf: prefix: classpath:/templates/ suffix: .html cache: false check-template: true check-...
  • Spring-mvc-mini是一个完整的,轻量、简单的Java项目,基于Spring MVC. 里面有基本的增删改查的功能。而且无需修改任何内容,就可以直接跑起来。 另外我有一个Spring MVC的RESTful项目,数据库是Mysql,请参看:...
  • Tomcat与Java Web开发技术详解

    千次下载 热门讨论 2008-07-05 20:53:15
    347 22.2 在Windows下Tomcat与Apache服务器集成 349 22.3 在LinuxTomcat与Apache服务器集成 353 22.4 Tomcat与IIS服务器集成 355 22.5 小结 362 第23章 创建嵌入式Tomcat服务器 363 23.1 将...
  • SpringMVC-异常处理 ...2、项目是打成war包放在tomcat服务器上的,tomcatlinux系统上部署的 步骤: 1、创建异常类实现HandlerExceptionResolver public class MyException implements HandlerExcep
  • 我是个java开发菜鸟,以前一直维护的是spring mvc+tomcatlinux的web项目,最近在学习spring boot +docker(docker-compose),试图改造我手上的Web项目,但遇到一个问题百思不得其解,还希望哪位大神伸手援助。...
  • 问题描述: 在使用maven依赖项spring MVC、Hibernate和Struts2构建REST web项目之后,我将项目进行打包 “ProcjectName.war”,并通过tomcat manager html页面将其上传到 Linuxtomcat 服务器,它可以正常工作。...
  • Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...
  • 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

linuxtomcat部署mvc项目

linux 订阅