linux 服务器 java上传图片 不能访问 图片上传成功 访问路径都对 在服务器上查看权限 显示-rw-r----

linux 服务器 java上传图片 不能访问 图片上传成功 访问路径都对 在服务器上查看权限 显示-rw-r----,第1张

出现该问题,主要是因为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/

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux 服务器 java上传图片 不能访问 图片上传成功 访问路径都对 在服务器上查看权限 显示-rw-r----

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情