项目中经常会用到的图片域名配置访问指定图片,一般情况下我们把图片上传到服务器的指定image目录下,有两种方法能够访问到图片,一种是nginx配置静态资源访问,一种是依赖于tomcat容器进行初始化访问。

下面我们先看下通过tomcat容器访问图片的方式,主要更改的地方有2出,一个是server.xml中的端口一定要保证是唯一的并且未被系统中使用的,不然会启动不了

可以通过命令 netstat -anp |grep 8882  来查看8882端口是否被使用,如果什么都没有输出的话证明是没有使用可以以80端口筛选为例子

修改server.xml的地方我贴出来

<Server port="8087" shutdown="SHUTDOWN">

下面是tomcat启动配置的相关性能参数和连接池信息

<Connector port="8882" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443"
                 maxThreads="1000"
                 minSpareThreads="100"
                 maxSpareThreads="1000" 
                 minProcessors="100"
                 maxProcessors="1000"
                 compression="on"
                 compressionMinSize="2048"
                 acceptCount="1000"
                 maxKeepAliveRequests="1"
          />

8009这个端口我们一般是不会使用的

<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->

如果是直接访问到项目的话我们要在server.xml文件中多添加一行,直接指定到项目名称的文件

在<Host></Host>标签内添加下面内容LyDemo是项目war包的名称

 

<Context  path="" docBase="LyDemo" reloadable="true"></Context>

下面我们只需要在webapps建立image目录下面有个a.jpg文件

ll /data/server/apache-tomcat/apache-tomcat8882/webapps/image/

到bin目录执行命令查看启动日志

./startup.sh && tailf  ../logs/catalina.out

然后我们通过浏览器访问

nginx可以配置图片地址么 nginx配置静态图片_nginx可以配置图片地址么

通过tomcat访问图片就完成了,下面我们继续讲下通过nginx配置静态资源

我们先在服务器的指定目录下创建具体目录并且有一张图片

nginx可以配置图片地址么 nginx配置静态图片_nginx访问静态图片_02

下面我们看下nginx主配置文件nginx.conf里面去配置具体的静态资源访问

less  /usr/local/nginx/conf/nginx.conf
#进程数一般根据服务器的内核版本数量保持一致
worker_processes  1;
 #支持最大并发数
 events {
     worker_connections  1024;
 }

 http {
     include       mime.types;
     default_type  application/octet-stream;

     sendfile        on;
     keepalive_timeout  65;
     #负载均衡配置,weight权重配置,数值越大分配的几率越大
     upstream  tomcat {  
         server 127.0.0.1:8883  weight=1;  
         server 192.168.40.204:8882 weight=1;  
         server 192.168.40.219:8883 weight=1;
     }
     server {#监听的端口,一般正式线上环境默认是采用80端口,9999是方便虚拟机测试
         listen       9999;
         server_name  localhost;  #正式环境使用的域名多个罗列出来用逗号隔开
 #项目访问时走负载均衡调用相应的端口
         location / {
             root   html;
             index  index.html index.htm;
             proxy_pass http://tomcat;  
             proxy_redirect default;   
         }

#配置访问image目录下的图片时,指定具体的图片目录
         location /image/ {
             root  /data/server/smb/;
             autoindex on;
         }
        location /status {
             access_log off; 
         }
         error_page   500 502 503 504  /50x.html;
         location = /50x.html {    }
 }

检测nginx配置文件是否正常

nginx可以配置图片地址么 nginx配置静态图片_nginx访问静态图片_03

执行重启命令

/usr/local/nginx/sbin/nginx -s reload

访问本机IP+9999nginx监听端口 + /image/a.jpg进行访问查看图片

nginx可以配置图片地址么 nginx配置静态图片_tomcat图片访问_04

也可以正常的同时访问项目动态程序

nginx可以配置图片地址么 nginx配置静态图片_nginx可以配置图片地址么_05