目录
1.2.3 进入tomcat包的bin目录 并启动tomcat
1.3.1 查看端口情况netstat -anlp|grep 80
前言:
项目是spring mvc的项目,虽然比较老但是时间比较紧就先这样吧~
然后呢,公司用的是resin和tomcat,还是tomcat要好一点。
所以用tomcat8 来进行当做容器。
当然,部署tomcat来跑java项目首要是配置java环境,请看:
https://blog.csdn.net/pmdream/article/details/100984357
1.tomcat的配置
1.1 下载tomcat
这里选的tomcat8
下载地址:http://tomcat.apache.org/download-80
1.2 安装tomcat
1.2.1 新建tomcat存放的目录
mkdir: cannot create directory ‘tomcat’: Permission denied
所以用sudo
1.2.2 解压缩压缩包
使用sftp来将压缩包传到目录下面
然后tar -zxvf xxxx
PS:put: failed to upload C:\Users\DK\Downloads\apache-tomcat-8.5.45.tar.gz. Access is denied.
还是因为权限问题
sftp> put -r "C:\Users\xx\Downloads\apache-tomcat-8.5.45.tar.gz"
这个是执行不了的 因为是usr文件夹??
所以弄到别的文件夹 然后在cp拷贝吧~
1.2.3 进入tomcat包的bin目录 并启动tomcat
这里遇到了bin目录进不去的情况
使用ll看一下文件夹的权限
然后sudo chmod 777 /usr/local/tomcat/apache-tomcat-8.5.45/bin
就可以进入bin目录了。
1.2.4 启动tomcat
TODO : 应该写一个一键脚本
./catalina.sh start
或者
./startup.sh
1.2.5 报错信息
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
需要在setclasspath.bat 中填上 环境变量
set JAVA_HOME=/opt/jdk1.8.0_221
set JRE_HOME=${JAVA_HOME}/jre
但是用vi查看setclasspath.bat 这个是一个readonly的文件。
所以:
sudo chmod 666 setclasspath.bat
将这个文件改成可读可写的。
Q: 在bat 脚本中@echo 是什么意思?
https://www.cnblogs.com/Braveliu/p/5061745.html
哭辽,还没好。
查看环境变量:
vim /etc/profile
因为这个环境变量中没有配置java,
所以要弄一下这个
正确解答:
catalina.sh 里面要配置 java home信息
具体要在sh文件里面添加
export JAVA_HOME=/opt/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
1.2.6 查看某个端口是否被占用
netstat -anp |grep 端口
1.2.7 更改tomcat的端口号
进入/conf/目录下,打开server.xml(sudo vi server.xml)将端口8080修改为13306 比如。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
这两个8080都要更改。
1.2.8 让所有的文件和子文件全部777
这个一般禁止这样操作,因为会出现安全隐患。
sudo chmod -R 777 tomcat8/
然后呢
查看文件夹所有的权限
ls -ld 文件夹名
linux 下怎么查询指定目录下所有文件的权限?
ls -l tomcat8/ 能够查看文件夹内部 下一层 所有文件的权限
例如:
(base) dc2-user@10-255-20-183:/usr/local/tomcat$ ls -l tomcat8/
total 144
drwxrwxrwx 2 root root 4096 Sep 23 18:39 bin
-rwxrwxrwx 1 root root 19534 Aug 15 06:27 BUILDING.txt
drwxrwxrwx 2 root root 4096 Sep 24 14:52 conf
-rwxrwxrwx 1 root root 5407 Aug 15 06:27 CONTRIBUTING.md
drwxrwxrwx 2 root root 4096 Sep 18 20:35 lib
-rwxrwxrwx 1 root root 57011 Aug 15 06:27 LICENSE
drwxrwxrwx 2 root root 4096 Aug 15 06:24 logs
-rwxrwxrwx 1 root root 1726 Aug 15 06:27 NOTICE
-rwxrwxrwx 1 root root 3255 Aug 15 06:27 README.md
-rwxrwxrwx 1 root root 7139 Aug 15 06:27 RELEASE-NOTES
-rwxrwxrwx 1 root root 16262 Aug 15 06:27 RUNNING.txt
drwxrwxrwx 2 root root 4096 Sep 18 20:35 temp
drwxrwxrwx 7 root root 4096 Aug 15 06:24 webapps
drwxrwxrwx 2 root root 4096 Aug 15 06:24 work
这里面的d 代表的是文件的类型是目录。
1.2.9 linux文件10为权限的含义
常用的linux文件权限:
444 r--r--r--
600 drw-------
644 drw-r--r--
666 drw-rw-rw-
700 drwx------
744 drwxr--r--
755 drwxr-xr-x
777 drwxrwxrwx
d :第一位表示文件类型
d 文件夹
- 普通文件
l 链接
b 块设备文件
p 管道文件
c 字符设备文件
s 套接口文件
rwx :第2-4位表示这个文件的属主拥有的权限。r是读、w是写、x是执行
r-x :第5-7位表示和这个文件属主所在同一个组的用户所具有的权限
r-x :第8-10位表示其他用户所具有的权限
1.3.0 抓取端口和tomcat相关
ps -aux|grep tomcat
lsof -i:8080 (这种一般不常用 因为没有ps -aux 看的全)
1.3.1 查看端口情况netstat -anlp|grep 80
比如抓取8080
1.3.2 chown 命令可以把文件给某个用户所有权
语法:
chown [-cfhvR] [--help] [--version] user[:group] file...
实例
将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :
chown runoob:runoobgroup file1.txt (本次装载tomcat就用到了这个命令)
将目前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:
chown -R runoob:runoobgroup *
2. 总结(踩过的坑)
emmm
因为linux真的不熟悉。权限问题真的可怕。
用非root用户把 tomcat 放到了usr目录下出了很多问题
所以,放到目录的家目录就好了~
其实真的很简单,jvm 参数 和启动脚本什么的都不需要改,
除非出现内存泄漏。
好的,到此完结。