Ich möchte nur einen Link zu mehreren Bildern auf einmal teilen können.Gibt es eine Möglichkeit, eine einfache statische Bildergalerie in Nginx ohne Dienstprogramme von Drittanbietern zu erstellen?
Antwort
Der einfachste Weg wäre die Umwandlung von Dateilisten von nginx. Sie können dies tun, indem Sie nginx-Ausgabeauflistungen als XML erstellen und sie dann mit XSLT umwandeln. Built-in-Modul ngx_http_autoindex_module
wird das ehemalige und in der Regel dynamische Modul ngx_http_xslt_filter_module
(aka ngx_http_xslt_module
) machen tun letzteres.
Zuerst das Modul in nginx.conf
lädt bei Bedarf:
load_module "/usr/lib/nginx/modules/ngx_http_xslt_filter_module.so";
Dann in Ihren sites-available/website.com
, einen Ort hinzufügen, die den XML-Index mit stlylesheet gal.xslt
und übergeben Sie einen den Namen des Ordners nginx zu verwandeln erzählt als ein Parameter
location ~ /gal/([A-z]+)/$ {
autoindex on;
autoindex_format xml;
xslt_string_param title $1;
xslt_stylesheet gal.xslt;
try_files $uri/ =404;
}
Schließlich schaffen gal.xslt
in /etc/nginx
, der sagt,
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" indent="yes" />
<xsl:template match="/">
<xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
<html>
<head>
<title><xsl:value-of select="$title" /></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
img {
display: block;
max-width: 20cm;
max-height: 20cm;
margin: 2mm;
vertical-align: bottom;
}
@media all and (max-width: 20.4cm) {
img {
max-width: calc(100% - 4mm);
}
}
body {
margin: 0;
}
</style>
</head>
<body>
<xsl:for-each select="list/file">
<img src="{.}" alt="{.}"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
nun einige Bilder in /var/www/html/gal/foo
setzen, starten Sie nginx, navigieren Sie zu website.com/gal/foo
und Sie werden eine einfache, aber brauchbar und ansprechende Fotogalerie sehen.
- 1. Gibt es eine einfache Möglichkeit, einen Code TextBox zu erstellen?
- 2. Gibt es eine Möglichkeit, eine Gleitkommazahl ohne ldexp zu erstellen?
- 3. Gibt es eine einfache Möglichkeit, Routing in JSF zu implementieren?
- 4. Gibt es eine einfache Möglichkeit, Bildabmessungen in Ruby zu erhalten?
- 5. Gibt es eine Möglichkeit, Intu ohne Qibuild zu erstellen?
- 6. Gibt es eine Möglichkeit, einen Sicherungspunkt ohne Transaktion zu erstellen?
- 7. Gibt es eine einfache Möglichkeit, Benutzer von Facebook zu erhalten?
- 8. Gibt es eine einfache Möglichkeit, JavaScript in WebStorm zu bewerten?
- 9. Gibt es eine Möglichkeit, GIFs in R ohne die Verwendung von ImageMagick oder anderer Software von Drittanbietern zu erstellen?
- 10. Gibt es eine Möglichkeit, eine statische Tabelle in Apache Flink
- 11. Gibt es eine einfache Möglichkeit, Kriterien in HQL zu konvertieren?
- 12. Gibt es eine einfache Möglichkeit, alle gängigen Modulerweiterungen zu erhalten?
- 13. Gibt es eine Möglichkeit, eine Klasseneigenschaft in Python zu erstellen?
- 14. Gibt es eine einfache Möglichkeit, InternalsVisibleToAttribute zu verwenden?
- 15. Gibt es eine Möglichkeit, eine leere .mo-Dateivorlage zu erstellen?
- 16. Gibt es eine einfache Möglichkeit, eine Tabelle in Prozedur umzubenennen?
- 17. Gibt es eine statische Bibliothek, um ein Framework zu erstellen?
- 18. Gibt es eine einfache Möglichkeit, Hoptoad mit CakePHP zu verwenden?
- 19. Gibt es eine Floating Toolbar von Drittanbietern?
- 20. Gibt es eine einfache Möglichkeit, Gulture mit Django zu verwenden?
- 21. Gibt es eine einfache Möglichkeit, TypeScript-Definitionen zu installieren?
- 22. Gibt es eine einfache Möglichkeit, mit Open MPI zu klingeln?
- 23. Gibt es eine einfache Möglichkeit, Mediendateien in .NET abzuspielen?
- 24. Gibt es eine einfache Möglichkeit, eine App in eine Komponente einer anderen App zu verwandeln
- 25. Gibt es eine schmerzfreie Möglichkeit, eine "css sandbox" zu erstellen?
- 26. Gibt es eine einfache Möglichkeit, die Ember-Ladestationen zu testen?
- 27. Gibt es eine einfache Möglichkeit, ein ASP.NET-Formular zu löschen?
- 28. Gibt es eine einfache Möglichkeit, jshint mit Netbeans zu integrieren?
- 29. Gibt es eine einfache Möglichkeit, Bilder schräg zu stellen?
- 30. Gibt es eine einfache Möglichkeit, das Alphabet programmatisch zu erhalten?
Das ist einfach unglaublich! Vielen Dank. – gerasalus