linux 服务器 java上传图片 不能访问 图片上传成功 访问路径都对 在服务器上查看权限 显示-rw-r----
出现该问题,主要是因为tomcat版本高的原因。我使用tomcat 8024,便没有此问题,当我使用tomcat 85+ 时,就会出现该问题,需要修改我下面书写的配置,才能生效!
一、检查linux
linux文件访问默认权限与umask有关,查看系统默认配置(/etc/profile)是否正常,如果是002或022就正常没有问题。
[umask 002 对应文件权限664,文件夹权限775;
umask 022对应文件权限644,文件夹权限755]
二、检查tomcat
打开bin/catalinash文件,检查大概在263行左右。
将0027改改为0022,重启tomcat,上传访问的问题解决。
原代码
# Set UMASK unless it has been overriddenif [ -z "$UMASK" ]; then
UMASK="0027"fi
改为
# Set UMASK unless it has been overriddenif [ -z "$UMASK" ]; then
UMASK="0022"fi
三、重启tomcat
sh shutdownsh(关闭)
sh startupsh 或者 /startupsh(启动)
在Linux系统下,重启Tomcat使用命令的操作!
首先,进入Tomcat下的bin目录
cd /usr/local/tomcat/bin
使用Tomcat关闭命令
/shutdownsh
查看Tomcat是否以关闭
ps -ef|grep java
如果显示以下相似信息,说明Tomcat还没有关闭
复制代码
root 7010 1 0 Apr19 00:30:13 /usr/local/java/bin/java -Djavautilloggingconfigfile=/usr/local/tomcat/conf/loggingproperties -Djavaawtheadless=true -Dfileencoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -Djavautilloggingmanager=orgapachejuliClassLoaderLogManager -Djavaendorseddirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrapjar -Dcatalinabase=/usr/local/tomcat -Dcatalinahome=/usr/local/tomcat -Djavaiotmpdir=/usr/local/tomcat/temp orgapachecatalinastartupBootstrap start
复制代码
如果你想直接干掉Tomcat,你可以使用kill命令,直接杀死Tomcat进程
kill -9 7010
然后继续查看Tomcat是否关闭
ps -ef|grep java
如果出现以下信息,则表示Tomcat已经关闭
root 7010 1 0 Apr19 00:30:30 [java]
最后,启动Tomcat
/startupsh
Tomcat在Linux上的安装与配置
以下使用的Linux版本为: Redhat Enterprise Linux 70 x86_64,Tomcat版本为tomcat-7054
1下载JDK与Tomcat
jdk下载地址:
http://wwworaclecom/technetwork/java/javase/downloads/jdk7-downloads-1880260html
tomcat下载地址:
http://tomcatapacheorg/download-70cgi
2jdk安装与配置
(1)jdk安装
rpm包:
# rpm -ivh jdk-7u55-linux-x64rpm
targz包:解压缩
# mkdir /usr/java
# cd /usr/java
# tar -zxvf /software/jdk-7u55-linux-x64targz
生成链接以便版本升级
# ln -s jdk170_55 latest
# ln -s latest default
(2)配置环境变量
# vi /etc/profile
export JAVA_HOME=/usr/java/default
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使配置生效
# source /etc/profile
测试jdk
# java -version
java version "170_55"
Java(TM) SE Runtime Environment (build 170_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 2455-b03, mixed mode)
3Tomcat的安装
解压缩
# mkdir /usr/local/tomcat
# cd /usr/local/tomcat
# tar -zxvf /software/apache-tomcat-7054targz
生成链接以便版本升级
# ln -s apache-tomcat-7054 server
启动Tomcat
# cd /usr/local/tomcat/server/bin
# /startupsh
Using CATALINA_BASE: /usr/local/tomcat/server
Using CATALINA_HOME: /usr/local/tomcat/server
Using CATALINA_TEMDIR: /usr/local/tomcat/server/temp
Using JRE_HOME: /usr/java/default
Using CLASS_PATH: /usr/local/tomcat/server/bin/bootstrapjar:/usr/local/tomcat/server/bin/tomcat-julijar
Tomcat started
测试Tomcat:
打开防火墙,使外部能访问
# /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
# service iptables save
# service iptables restart
或直接修改文件/etc/sysconfig/iptables
# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
# service iptables restart
在浏览器输入: http://19216816133:8080
如在本机可以输入: http://localhost:8080
出现tomcat的页面表示安装成功
停止Tomcat
# /shutdownsh
4配置web管理帐号
修改文件conf/tomcat-usersxml,在<tomcat-users>元素中添加帐号密码,需要指定角色
# vi /usr/local/tomcat/server/conf/tomcat-usersxml
<tomcat-users>
<user name="admin" password="admin" roles="admin-gui,manager-gui" />
</tomcat-users>
5配置web访问端口
可以修改conf目录下的文件serverxml,修改Connector元素(Tomcat的默认端口是8080),需要重新启动Tomcat服务生效
# vi /usr/local/tomcat/server/conf/serverxml
<Connector port="80" protocol="HTTP/11" connectionTimeout="20000" redirectPort="8443" />
6配置https安全连接(ssl加密连接)
https连接需要用到数字证书与数字签名(MD5算法)
网站https连接首先需要申请数字证书,配置加密连接器,浏览器安装证书
·使用java的工具keytool产生数字证书
# keytool -genkey -alias tomcat -keyalg RSA
生成文件keystore
注意:CN为主机名称,本机可用localhost
·将文件keystore放到Tomcat服务器的conf目录下
# cp keystore /usr/local/tomcat/server/conf/
·修改conf/serverxml文件,修改加密连接器,添加keystoreFile与keystorePass
<Connector port="8443" protocol="HTTP/11" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/keystore" keystorePass="123456"/>
·重新启动tomcat浏览器输入https://localhost:8443访问,并安装证书
7Tomcat的目录结构
·bin //存放Tomcat的命令脚本文件
·conf //存放Tomcat服务器的各种配置文件,最主要是serverxml
·lib //存放Tomcat服务器支撑jar包
·logs //存放日志文件
·temp //存放临时文件
·webapps //web应用所在目录,外界访问web资源的存放目录
·work //Tomcat的工作目录
8web应用的目录结构
webapp -- web应用所在目录
|--- html, jsp, css, js文件等 -- 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问
|--- WEB-INF 目录 -- java类、jar包、web配置文件存在这个目录下,外界无法直接访问,由web服务器负责调用
|--- classes 目录 -- java类
|--- lib 目录 -- java类运行所需要的jar包
|--- webxml 文件 -- web应用的配置文件
9虚拟主机的配置
指定虚拟主机名,修改conf/serverxml,添加<host>元素
<host name="hostnamedomainname" appBase="/webapps">
<Context path="/webapp" docBase="/webapps/webapp"/>
</host>
例:
<host name="www163com" appBase="/webapps">
</host>
<host name="mail163com" appBase="/mailapps">
</host>
须设置DNS解析(host文件或DNS系统)
10web应用和虚拟目录的映射
可以修改xml配置文件的<Context>元素来设置web应用和虚拟目录的映射
·conf/serverxml //在<host>元素下添加<Context path="/webdir" docBase="/webappdir"/>,需要重新启动Tomcat服务生效,不建议使用
·conf/contextxml //添加<Context>元素所有web应用有效
·conf/[enginename]/[hostname]/contextxmldefault //[enginename]一般是Catalina,主机[hostname]的所有web应用有效
·conf/[enginename]/[hostname]/ //在目录下任意建一个文件(扩展名xml),文件名即为虚拟目录名多级目录使用#分割 <Context docBase="/webappdir"/>
//缺省值web应用目录可以定义为ROOTxml,添加<Context docBase="/webappdir"/>,需重新启动Tomcat服务器
·META-INF/contextxml //
可以将web应用放在webapps目录下让Tomcat服务器自动映射,适用开发环境,实际运用环境中不用自动映射。
如没有修改配置文件,web应用目录为ROOT时则为默认web应用。
11web应用首页(welcome file)的配置
修改web应用的配置文件: [webapp]/WEB-INF/webxml
<welcome-file-list>
<welcome-file>indexhtml</welcome-file>
<welcome-file>indexhtm</welcome-file>
<welcome-file>indexjsp</welcome-file>
</welcome-file-list>
一下载安装对应的jdk,并配置Java环境。
官网下载地址:
http://wwworaclecom/technetwork/java/javase/downloads/jdk-6u26-download-400750html
下载将jdk加压后放到/usr/local目录下:
[root@master ~]#chmod 755 jdk-6u5-linux-x64bin
[root@master ~]# /jdk-6u5-linux-x64bin
[root@master ~]#mv jdk160_05 /usr/local
建立/usr/local/下的jdk软连接方便以后版本升级 :
[root@master ~]# ln -s /usr/local/jdk160_05/ /usr/local/jdk
配置环境变量:
在 /etc/profile 中加入以下内容:
JAVA_HOME=/usr/local/jdk160_05
JAVA_BIN=/usr/local/jdk160_05/bin
PATH=$PATH:$JAVA_BIN
CLASSPATH=$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
保存退出
[root@master ~]source /etc/profile
查看java环境变量是否生效
[root@master ~]# java -version
Java version "160_05"
Java(TM) SE Runtime Environment (build 160_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 100-b19, mixed mode)
测试成功
二.下载安装tomcat(http://tomcatapacheorg/)
[root@master ~]# unzip apache-tomcat-6030zip
[root@master ~]# mv apache-tomcat-6030/ /usr/local/
[root@master ~]cd /usr/local/
[root@master local]# ln -s /usr/local/apache-tomcat-6030/ /usr/local/tomcat
[root@master local]# cd tomcat/bin/
[root@master bin]#ls
[root@master bin]#vim catalinash
添加以下内容:
CATALINA_HOME=/usr/local/apache-tomcat-6030/
[root@master local]#chmod +x sh
三.启动tomcat服务器
[root@master tomcat]# /usr/local/tomcat /bin/catalinash start
Using CATALINA_BASE: /usr/local/apache-tomcat-6030/
Using CATALINA_HOME: /usr/local/apache-tomcat-6030/
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6030//temp
Using JRE_HOME: /usr/local/jdk160_05
Using CLASSPATH: /usr/local/apache-tomcat-6030//bin/bootstrapjar
[root@master logs]# cd /usr/local/tomcat/logs/
[root@master logs]# tail -f catalinaout
at sunreflectDelegatingMethodAccessorImplinvoke(DelegatingMethodAccessorImpljava:25)
at javalangreflectMethodinvoke(Methodjava:597)
at orgapachecatalinastartupBootstrapstart(Bootstrapjava:289)
at orgapachecatalinastartupBootstrapmain(Bootstrapjava:414)
Jul 4, 2011 11:06:57 AM orgapachecoyotehttp11Http11Protocol pause
INFO: Pausing Coyote HTTP/11 on http-8080
Jul 4, 2011 11:06:58 AM orgapachecatalinacoreStandardService stop
INFO: Stopping service Catalina
Jul 4, 2011 11:06:58 AM orgapachecoyotehttp11Http11Protocol destroy
INFO: Stopping Coyote HTTP/11 on http-8080
四.在浏览器中输入
http://localhost:8080/(如果不是本机,则输入对应的ip地址)
测试出现tomcat页面则测试成功
ps:需要说明的是tomcat的默认测试页面是放在webapps下面,这个其实是在serverxml文件中配置的,如下所示:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
[root@SOR_SYS apache-tomcat-6030]# ls
LICENSE NOTICE RELEASE-NOTES RUNNINGtxt bin conf lib logs temp webapps work
1)webapps文件夹主要用于web应用程序部署,比如你可以把你的应用程序包,如war文件拷到该目录下,容器会自动部署。
2)conf文件夹下主要是放置tomcat的服务器的相关配置文件
五。添加应用,再次进行测试
在webapps目录下放测试包(注意:webaapps目录下面主要是放应用包的war在tomcat重启访问后会自动解压)
[root@master webapps]# pwd
/usr/local/tomcat/webapps
[root@master webapps]# tar -zxvf moni2targz
[root@master webapps]# ls
docs examples host-manager manager moni2 moni2targz ROOT
[root@master webapps]# /usr/local/tomcat/bin/catalinash start(重启tomcat)
Using CATALINA_BASE: /usr/local/apache-tomcat-6030/
Using CATALINA_HOME: /usr/local/apache-tomcat-6030/
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6030//temp
Using JRE_HOME: /usr/local/jdk160_05
Using CLASSPATH: /usr/local/apache-tomcat-6030//bin/bootstrapjar
在浏览器中输入如下地址:
http://19216855229:8080/moni2/
网站模板库 » linux 服务器 java上传图片 不能访问 图片上传成功 访问路径都对 在服务器上查看权限 显示-rw-r----
0条评论