Linux使用Nginx搭建图片服务器

简介: Linux使用Nginx搭建图片服务器

1 安装Nginx

Ubuntu下安装nginx及使用:https://blog.csdn.net/ZGL_cyy/article/details/117845308


安装包nginx的使用:https://blog.csdn.net/ZGL_cyy/article/details/105112050


docker部署nginx:https://blog.csdn.net/ZGL_cyy/article/details/111687007


Nginx配置文件详解:https://blog.csdn.net/ZGL_cyy/article/details/117845474


2 查看安装路径

#whereis nginx

3 配置nginx

     location ~ .*\.(gif|jpg|jpeg|png)$ {
            expires 24h;
            root /data/www/images/;#指定图片存放路径
            access_log /data/www/images/nginx/logs/images.log;#图片 日志路径
            proxy_store on;
            proxy_store_access user:rw group:rw all:rw;
            proxy_temp_path         /data/www/images/;#代理临时路径
            proxy_redirect          off;
            proxy_set_header        Host 127.0.0.1;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size    10m;
            client_body_buffer_size 1280k;
            proxy_connect_timeout   900;
            proxy_send_timeout      900;
            proxy_read_timeout      900;
            proxy_buffer_size       40k;
            proxy_buffers           40 320k;
            proxy_busy_buffers_size 640k;
            proxy_temp_file_write_size 640k;
            if ( !-e $request_filename)
            {
                 proxy_pass  http://127.0.0.1:8088;#代理访问地址
            }
        }

备注: /data/www/images/nginx/logs/、/data/www/images路径必须创建好。

重启nginx服务之前,最好先测试一下nginx的配置文件。

4 测试配置文件

# nginx -t

备注:nginx是被我配置了全局软连接,所以可以不加绝对路径。

5 重启nginx服务

# nginx -s reload

6 测试访问图片

备注:将自己准备好的图片复制到/data/www/images下面,打开浏览器直接访问即可,注意端口配置为8088

7 重启nginx服务报错

1.nginx.conf 文件中配置的图片路径,如果没有事先创建好,就会报错。所以建议在重启服务之前先执行配置文件测试命令:nginx -t

2.nginx: [error] invalid PID number “” in “/usr/local/nginx/logs/nginx.pid”,这个错误是因为/usr/local/nginx/logs/nginx.pid不存在,或者内容为空导致的,那么我们只有执行如下命令即可:

# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重启即可完成,然后访问。

8 访问图片服务器失败

设置路径权限,关闭防火墙,重新访问图片服务器。

#chmod 777 -R /data/www/images/
#ufw disable

备注:因为我的是linux mint系统所以我的开启关闭服务是通过ufw disable和ufw enable进行关闭防火墙和开启防火墙。

9 不重启nginx配置生效

输入命令:nginx -s reload

10 include配置使用例子

主模式配置

user  wwwt; # 服务器使用用户
worker_processes  1;  # 配置 worker 进程启动的数量,建议配置为 CPU 核心数
#error_log  logs/error.log; # 全局错误日志
pid    /etc/nginx/logs/nginx.pid;   # 设置记录主进程 ID 的文件
events {
    # 单个后台 worker process 进程的最大并发链接数
    # 并发总数 max_clients = worker_professes * worker_connections
    worker_connections 4096;  ## Defaule: 1024
    # multi_accept on;  ## 指明 worker 进程立刻接受新的连接
}
# 主模式
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    # 重点,分文件放置路径
    include /etc/nginx/cs/*.conf;
    #gzip  on
    server {
        # the port your site will be served on
        listen 80;
        # the domain name it will serve for
        charset     utf-8;
        # max upload size
        client_max_body_size 75M;   # adjust to taste
        # Finally, send all non-media requests to the Django server.
        location / {
        }
    }
    }

分文件

server {
    # the port your site will be served on
    listen 443;
    # the domain name it will serve for
    server_name  cs.od888.cn; # substitute your machine's IP address or FQDN
    charset     utf-8;
    ssl   on;
    ssl_certificate      cert/*****.pem;
    ssl_certificate_key  cert/*****.key;
    # max upload size
    client_max_body_size 75M;   # adjust to taste
    # Django media
    location /media  {
        alias ********;  # your Django project's media files - amend as required
    }
    location /static {
        alias ********; # your Django project's static files - amend as required
    }
    location / {
      uwsgi_param UWSGI_SCHEME https;
        uwsgi_pass  127.0.0.1:9002;
        uwsgi_send_timeout 3600s;        # 指定向uWSGI传送请求的超时时间,完成握手后向 uWSGI传送请求的超时时间。
        uwsgi_connect_timeout 3600s;     # 指定连接到后端uWSGI的超时时间。
        uwsgi_read_timeout 3600s;        # 指定接收uWSGI应答的超时时间,完成握手后接收uWSGI应答的超时时间。
        include     /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
    }
}


目录
相关文章
|
6天前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
36 13
|
11天前
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
54 9
|
24天前
|
存储 编解码 应用服务中间件
使用Nginx搭建流媒体服务器
本文介绍了流媒体服务器的特性及各种流媒体传输协议的适用场景,并详细阐述了使用 nginx-http-flv-module 扩展Nginx作为流媒体服务器的详细步骤,并提供了在VLC,flv.js,hls.js下的流媒体拉流播放示例。
110 1
W9
|
29天前
|
运维 关系型数据库 MySQL
轻松管理Linux服务器的5个优秀管理面板
Websoft9 应用管理平台,github 2k star 开源软件,既有200+的优秀开源软件商店,一键安装。又有可视化的Linux管理面板,文件、数据库、ssl证书方便快捷管理。
W9
85 1
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
1月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
63 4
|
1月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
20天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
1月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
26 0
|
弹性计算 安全 应用服务中间件
ECS动手搭建Nginx
在ECS的centos7上搭建一个Nginx
2073 7
ECS动手搭建Nginx