фляга на lighttpd с fastcgi не обслуживает css и изображения - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь развернуть флеш-приложение с помощью lighttpd и Fast-CGI. При запуске сервера lighttpd HTML-страница отображается в браузере, но соответствующий CSS и изображения не были предоставлены lighttpd.

Ниже приведен минимальный фрагмент кода установки: -

Колба (имя файла: - example.py)

#!/usr/bin/env python
from flask import Flask
from flask import render_template

app = Flask(__name__)

@app.route("/")
def hello():
    return render_template('topic.html')

HTML (Имя файла: - topic.html)

<!DOCTYPE html>
<body>
<img alt="logo" src="{{ url_for('static', filename='img/example.png') }}">
</body>
</html>

fcgi включил WSGI (имя файла: - test.fcgi)

#!/usr/bin/env python
from flup.server.fcgi import WSGIServer
from example import app

if __name__ == '__main__':
    WSGIServer(app, debug = True).run()

файл конфигурации lighttpd

server.modules   += ( "mod_fastcgi" )
server.modules   += ( "mod_rewrite" )
server.modules   += ( "mod_alias" )
server.modules   += ( "mod_accesslog" )

server.document-root        = "/var/www/testing/"
server.port = 5000
server.modules += ( "mod_cgi" )

mimetype.assign = (
".html" => "text/html", 
".txt" => "text/plain",
".jpg" => "image/jpeg",
 ".png" => "image/png",
".js" => "text/javascript",
".css" => "text/css"
 )

cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                           ".cgi" => "/usr/bin/perl",
                           ".rb"  => "/usr/bin/ruby",
                           ".erb" => "/usr/bin/eruby",
                           ".py"  => "/usr/bin/python",
                           ".php" => "/usr/bin/php-cgi" )

index-file.names           += ( "index.pl",   "default.pl",
                           "index.rb",   "default.rb",
                           "index.erb",  "default.erb",
                           "index.py",   "default.py",
                           "index.php",  "default.php" )

server.errorlog    = "/var/log/lighttpd/error.log"
accesslog.filename = "/var/log/lighttpd/access.log"

$HTTP["url"] =~ "^/" {
   fastcgi.server = ("" =>
                    ((
    "socket" => "/tmp/test-fcgi.sock",
    "bin-path" => "/var/www/testing/test.fcgi",
    "check-local" => "disable",
    "max-procs" => 1
))
)
}

Структура папок в колбе

/testing/
    /example.py  
    /test.fcgi  
    /static/
        /img/
           /example.png
    /template/
        /topic.html

С сервером разработки фляг все работает нормально. Но развертывание с lighttpd, css и изображениями не обслуживаются должным образом. Какой может быть правильный метод для установки колбы с lighttpd и Fast-CGI?

1 Ответ

0 голосов
/ 04 мая 2018

С этим обновленным файлом конфигурации lighttpd css и изображения корректно обслуживаются с lighttpd.

server.modules   += ( "mod_fastcgi" )
server.modules   += ( "mod_rewrite" )
server.modules   += ( "mod_alias" )
server.modules   += ( "mod_accesslog" )

server.document-root        = "/var/www/testing/"
server.port = 5000
server.modules += ( "mod_cgi" )

mimetype.assign = (
".html" => "text/html", 
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png",
".js" => "text/javascript",
".css" => "text/css"
)

cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                           ".cgi" => "/usr/bin/perl",
                           ".rb"  => "/usr/bin/ruby",
                           ".erb" => "/usr/bin/eruby",
                           ".py"  => "/usr/bin/python",
                           ".php" => "/usr/bin/php-cgi" )

index-file.names           += ( "index.pl",   "default.pl",
                           "index.rb",   "default.rb",
                           "index.erb",  "default.erb",
                           "index.py",   "default.py",
                           "index.php",  "default.php" )

server.errorlog    = "/var/log/lighttpd/error.log"
accesslog.filename = "/var/log/lighttpd/access.log"

fastcgi.server = ("/test.fcgi" =>
((
    "socket" => "/tmp/test-fcgi.sock",
    "bin-path" => "/var/www/testing/test.fcgi",
    "check-local" => "disable",
    "max-procs" => 1
))
)

alias.url = ( 
"/static" => "/var/www/testing/static"
)

url.rewrite-once = (
"^(/static($|/.*))$" => "$1",
"^(/.*)$" => "/test.fcgi$1"
)
...