2013-03-30 3 views
0

Мне нужна помощь в улучшении регулярного выражения, соответствующего шаблону nginx.Nginx/Apache Serve Прокси-сервер статического содержимого

# serve static files from nginx 
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|pdf|ppt|txt|tar|wav|bmp|rtf|js|mp3|avi|mov|flv|swf)$ { 
root c:/websites/www/html; 
expires 1y; 
} 


# pass requests for dynamic content to apache listening on 8080 
location/{ 
proxy_pass http://127.0.0.1:8080; 
proxy_redirect off; 
proxy_set_header Host $host; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
client_max_body_size 128m; 
client_body_buffer_size 256k; 
proxy_connect_timeout 60; 
proxy_send_timeout 60; 
proxy_read_timeout 60; 
proxy_buffer_size 4k; 
proxy_buffers 32 256k; 
proxy_busy_buffers_size 512k; 
proxy_temp_file_write_size 512k; 
} 

Apache работает на порту 8080 и Nginx работает на порту 80. Единственное, что Apache используется для обработки является HTML, PHP и в основном обработки сценария. nginx обслуживает все остальное.

Поскольку я не являюсь гуру с регулярным выражением и очень новичок в nginx, как я могу сделать свой шаблон более дружелюбным? Есть ли способ определить сценарии, которые я хочу, чтобы Apache обрабатывал и обслуживал (html, php)?

+0

почему вы служите статический HTML-файл из апача? –

ответ

1

Это проще для передачи запросов PHP/HTML для Apache, а затем пусть Nginx обрабатывать остальные:

# serve all remaining static file requests from nginx 
location/{ 
    root c:/websites/www/html; 
    expires 1y; 
} 

# pass any request uri ending with .php or .html, .htm to apache 
location ~* \.(php|html|htm)$ { 
    # proxy to apache 
} 
+0

Благодарим за информацию, чтобы ответить на предыдущий вопрос: «Почему вы используете статический html-файл из apache?» Это потому, что я использую joomla и joomla add. Суффикс класса .html для страницы url, который генерируется php, поэтому мне нужно, чтобы apache справлялся с ними реально. – C0nw0nk

+0

Также по какой-то причине мой nginx не хочет начинать с моей конфигурации вроде – C0nw0nk

+0

Это странно. Я могу загрузить его в свой собственный devbox. Какова ошибка msg, если вы запустите «nginx -t»? Или что сообщение об ошибке в вашем журнале ошибок nginx? В linux журнал ошибок обычно является /var/log/nginx/error.log. –

Смежные вопросы