脚本应放在tomcat哪里

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脚本应放在tomcat哪里相关的知识,希望对你有一定的参考价值。

1.首先我们就来创建一个普通用户。
groupadd tomcat #加组
useradd -g tomcat -s /usr/sbin/nologin tomcat #向组加用户
usermod -L tomcat #锁定密码,使密码无效
passwd tomcat # 设置密码
通过这四步,我们就把普通用户创建好了,在创建用户时,我们是先创建的组,组创建完成后创建用户并加入该组。

用户创建完成后,就开始给用户设置权限

chown -R tomcat:tomcat /data #分配权限给用户
这就是给tomcat这个用户设置了可以操作data目录及其子目录下的权限,-R就代表该目录及其级联子目录。

[root@localhost data]# ls -l
total 0
drwxr-xr-x. 4 tomcat tomcat 79 May 20 08:03 tomcat
[root@localhost data]#
此时我们通过ls -l 命令就可以看到data目录已经属于tomcat用户,且拥有查看,写入,执行权限

2.完成了用户创建后,我们就要开始完成tomcat启动脚本。
如代码所示:

#!/bin/bash
tomcat_home=/data/tomcat/tomcat-8484
SHUTDOWN=$tomcat_home/bin/shutdown.sh
STARTTOMCAT=$tomcat_home/bin/startup.sh
case $1 in
start)
echo "启动$tomcat_home"
$STARTTOMCAT
cd /data/tomcat/tomcat-8484/logs
tail -f catalina.out
;;
stop)
echo "关闭$tomcat_home"
#$SHUTDOWN
netstat -anp | grep 8484| grep -v grep | awk 'print $7' | sed -e 's//java//g' | sed -e 's/^/kill -9 /g' | sh
#pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk 'print $2'`
#kill -9 $pidlist
#删除日志文件,如果你不先删除可以不要下面一行
#rm $tomcat_home/logs/* -rf
#删除tomcat的临时目录
#rm $tomcat_home/work/* -rf
;;
restart)
echo "关闭$tomcat_home"
$SHUTDOWN
#pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk 'print $2'`
#pidlist=`netstat -anp |grep 8484 |grep -v "grep"|awk 'print $2'`
#netstat -anp | grep 8484| grep -v grep | awk 'print $7' | sed -e 's//java//g' | sed -e 's/^/kill -9 /g' | sh
#kill -9 $pidlist
sleep 5
echo "启动$tomcat_home"
$STARTTOMCAT
#看启动日志
#tail -f $tomcat_home/logs/catalina.out
;;
logs)
cd /data/tomcat/tomcat-8484/logs
tail -f catalina.out
;;
esac
上面代码就是tomcat启动脚本,首先我们要创建一个文本文件,然后将后缀名变成.sh,这里我是用端口号为8484的tomcat作为例子,从脚本文件中可以看到,总共只需对自己tomcat位置和日志位置进行自定义改动后就可以使用,总共有四个命令,start,stop,restart,logs。

脚本文件创建好后,只需将它放入你的服务器中,位置可以自己随意选择,我这里就把它放在了tomcat下bin目录中。

脚本文件放入服务器后其实还不能使用,会有两个问题待解决,一个是格式问题,一个是权限问题。因为我们是文本文件创建的,其格式是文本格式,我们要改成unix格式,所以要进行如下设置

sed -i "s/
//" tomcat-8484.sh #设置脚本文件为unix格式
完成了格式设置后就要为该脚本文件设置权限,因为linux默认文件的权限是drwxr-xr-x,即所有运行权限赋予文件所有者也就是系统管理员(当前我是用系统管理员登录),把读和运行的权限赋予群组用户,把读的权限赋予其他用户,
参考技术A 你好,脚本应放在tomcat这里,tomcat的bin目录下脚本
tomcat的脚本在bin目录下
有:catalina、startup、shutdown、setenv、digest、version等。

Kohana - 你把 AJAX 脚本放在哪里?

【中文标题】Kohana - 你把 AJAX 脚本放在哪里?【英文标题】:Kohana - where do you put AJAX scripts? 【发布时间】:2010-10-17 16:05:12 【问题描述】:

我正在使用Kohana,但这个问题适用于 Rails、CI 或任何其他 MVC Web 开发框架。粘贴服务器端 AJAX 脚本的最佳位置在哪里?

计划创建一个 Ajax_Controller 并为每个单独的脚本使用一个方法/动作。

例如,主页上的登录表单 index.php/home 将发送一个 XMLHttpRequest 到 index.php/ajax/login,而编辑配置文件表单 index.php/profile/edit 会向 index.php/ajax/editprofile 发送一个 XMLHttpRequest。最佳做法是什么?

【问题讨论】:

【参考方案1】:

我倾向于将我的 ajax 操作与任何给定模型的非 ajax 操作放在同一个控制器中。

如果可以,我会尝试使用相同的操作,并且只更改输出类型。无论如何,大多数任务都应该有一个非 ajax 版本,所以这往往工作得很好。非常方便减少逻辑重复。

【讨论】:

@Mario 似乎同意。这算作共识吗? 确实,不要改变控制器,动作是一样的。只需更改您的视图(让 AJAX 视图返回 JSON 或其他内容和“正常”视图 html) 进一步了解 Pim 的评论。docs.kohanaphp.com/helpers/request#is_ajax 应该可以帮助您。【参考方案2】:

AJAX 跨越所有 MVC 边界。也就是说,它不会只进入模型、视图或控制器之一。

您的 AJAX 脚本将调用您网站上的脚本 - 因此这将涉及您为此目的创建的 控制器 层的一部分。 反过来,该控制器将使用 model 层提供的接口访问数据库,就像非 AJAX 请求一样。 返回给客户端的响应数据可能被打包为 JSON 或 XML 之类的。从技术上讲,这是您的 view 层的任务,尽管如果您的应用程序对视图层的定义只不过是“一个 HTML 模板系统”,而不是“处理和格式化任何发送回客户端的内容”无论是 HTML 还是 XML 之类的其他内容”,那么您的 XML 或 JSON 生成可能需要进入自己的新小部分。

至于发送脚本(Javascript 文件)本身,这可能会由 Web 服务器直接处理,而不是在您的 MVC 框架内。

【讨论】:

【参考方案3】:

您是否为 GET 和 POST 请求制作不同的控制器?我不。在我看来,JS 请求也不应该被区别对待。

我个人认为 JS 请求就像 GET、POST 或任何其他类型的请求。因此,如果我有与用户相关的基于 JS 的操作,我只需在用户控制器中创建它们。

【讨论】:

【参考方案4】:

如果您指的是 AJAX (Javascript) 脚本本身,那么这些脚本应该放在您的 public/js 文件夹中。但是,如果您指的是由这些 AJAX 请求调用的操作,则应将它们视为相应控制器的任何其他操作。要完全 RESTful,您应该使用不同的格式(json、xml 等)作为这些操作的返回值。

【讨论】:

【参考方案5】:

我是菜鸟,但是根据我的理解,用php mvc来实现ajax...思考的步骤可能是:

将现有 php 视图层的定义/功能从“HTML 模板”更改为“结果格式(XML、JSON 等”)-> 来自相关模块的结果,然后由控制器调用以输出到 AJAX 对象,然后这意味着您需要使用格式化方法将视图层写入每个特定的类 PHP 模块层保持不变 使用 JS 构建一个 Ajax 路由器类,该类与您在 PHP 中路由的结构保持相同 用 JS 构建一个 ajax 结果处理程序类来处理从 PHP 控制器(XML JSON 等)返回的结果,然后从这里做任何你想要的用户交互,这将被上面的 Ajax 路由器类调用

所以,

ajax router (send XMLhttprequest)
-> PHP controllers  C
-> PHP module -> PHP view results M
-> PHP controllers output results V
-> ajax results handle (into page)

【讨论】:

【参考方案6】:

我不使用 Kohana,但我在我的框架中所做的是 AJAX 脚本是控制器。我尝试将它们视为独立的控制器,但最终它们只是控制器。

【讨论】:

【参考方案7】:

使用单独的控制器是个好主意。我要么按功能组织控制器,然后按返回类型组织操作。

此外,当我使用 Pylons 时,我可以使用 @jsonify 装饰一个动作,它会自动将 python 对象转换为 JSON。非常方便。

【讨论】:

【参考方案8】:

我喜欢将所有 ajax 请求保存在一个控制器中,通常通过共享模型(非 ajax 控制器也使用该模型)分派它们的请求

主要区别在于通过 ajax 控制器(html 片段、json 数据等)或非 ajax 控制器(整页)产生的视图

【讨论】:

【参考方案9】:

您可以将其包装为通用 REST-api,并使用 RESTful 约定和 URI。 示例:

它可以是对 index.php/api/profile/profilename 的 PUT 请求,而不是 index.php/ajax/editprofile。

【讨论】:

以上是关于脚本应放在tomcat哪里的主要内容,如果未能解决你的问题,请参考以下文章

不应提交的 Gradle 配置(即凭据)应该放在哪里?

使用 IntelliJ IDEA 部署到 Tomcat 时,我的应用程序放在哪里?

Maven:将生成的 tomcat-maven-plugin 资源放在哪里?

Kohana - 你把 AJAX 脚本放在哪里?

win10系统必应壁纸每天更新的图片放在哪里

将已编译 Python 脚本的配置文件放在哪里?