Stylesheet conf/userstyle.css not found, please contact the developer of "dokuwiki_2024" template.
linux:nginx:yii
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
linux:nginx:yii [2021/10/22 02:33] – dx | linux:nginx:yii [2021/10/22 03:39] (текущий) – dx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Настройка nginx для Yii ====== | ||
+ | |||
+ | |||
+ | ===== Yii 1.1 ===== | ||
+ | |||
+ | Пример из руководства по установке [[https:// | ||
+ | |||
+ | <hidden yii 1.1 nginx> | ||
+ | < | ||
+ | server { | ||
+ | set $host_path "/ | ||
+ | access_log | ||
+ | |||
+ | server_name | ||
+ | root | ||
+ | set $yii_bootstrap " | ||
+ | |||
+ | charset utf-8; | ||
+ | |||
+ | location / { | ||
+ | index index.html $yii_bootstrap; | ||
+ | try_files $uri $uri/ / | ||
+ | } | ||
+ | |||
+ | location ~ ^/ | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | # отключаем обработку запросов фреймворком к несуществующим статичным файлам | ||
+ | location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { | ||
+ | try_files $uri =404; | ||
+ | } | ||
+ | |||
+ | # передаем PHP-скрипт серверу FastCGI, прослушивающему адрес 127.0.0.1: | ||
+ | location ~ \.php { | ||
+ | fastcgi_split_path_info | ||
+ | |||
+ | # позволяем yii перехватывать запросы к несуществующим PHP-файлам | ||
+ | set $fsn / | ||
+ | if (-f $document_root$fastcgi_script_name){ | ||
+ | set $fsn $fastcgi_script_name; | ||
+ | } | ||
+ | |||
+ | fastcgi_pass | ||
+ | include fastcgi_params; | ||
+ | fastcgi_param | ||
+ | |||
+ | # PATH_INFO и PATH_TRANSLATED могут быть опущены, | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | } | ||
+ | |||
+ | # не позволять nginx отдавать файлы, начинающиеся с точки (.htaccess, .svn, .git и прочие) | ||
+ | location ~ /\. { | ||
+ | deny all; | ||
+ | access_log off; | ||
+ | log_not_found off; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Yii 2 ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | Recommended Nginx Configuration | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | <hidden recommended nginx> | ||
+ | < | ||
+ | server { | ||
+ | charset utf-8; | ||
+ | client_max_body_size 128M; | ||
+ | |||
+ | listen 80; ## listen for ipv4 | ||
+ | #listen [::]:80 default_server ipv6only=on; | ||
+ | |||
+ | server_name mysite.test; | ||
+ | root / | ||
+ | index | ||
+ | |||
+ | access_log | ||
+ | error_log | ||
+ | |||
+ | location / { | ||
+ | # Redirect everything that isn't a real file to index.php | ||
+ | try_files $uri $uri/ / | ||
+ | } | ||
+ | |||
+ | # uncomment to avoid processing of calls to non-existing static files by Yii | ||
+ | #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { | ||
+ | # try_files $uri =404; | ||
+ | #} | ||
+ | #error_page 404 /404.html; | ||
+ | |||
+ | # deny accessing php files for the /assets directory | ||
+ | location ~ ^/ | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include fastcgi_params; | ||
+ | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
+ | fastcgi_pass 127.0.0.1: | ||
+ | # | ||
+ | try_files $uri =404; | ||
+ | } | ||
+ | |||
+ | location ~* /\. { | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Таймауты и буферы ===== | ||
+ | |||
+ | По советам Yii гуру | ||
+ | |||
+ | buffer | ||
+ | |||
+ | < | ||
+ | fastcgi_buffer_size 128k; | ||
+ | fastcgi_buffers 256 4k; | ||
+ | fastcgi_busy_buffers_size 256k; | ||
+ | fastcgi_temp_file_write_size 256k; | ||
+ | </ | ||
+ | |||
+ | timeout | ||
+ | |||
+ | < | ||
+ | fastcgi_connect_timeout 600s; | ||
+ | fastcgi_send_timeout | ||
+ | fastcgi_read_timeout | ||
+ | </ | ||
+ | |||
+ | Оффтоп для Apache | ||
+ | |||
+ | < | ||
+ | proxy_connect_timeout 900; | ||
+ | proxy_send_timeout | ||
+ | proxy_read_timeout | ||
+ | send_timeout | ||
+ | </ | ||
+ | |||
+ | ===== Закрыть прямой доступ к каталогам yii ===== | ||
+ | |||
+ | ==== Для версии yii1 ==== | ||
+ | |||
+ | < | ||
+ | location ~ ^/ | ||
+ | deny all; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Для версии yii2 ==== | ||
+ | |||
+ | < | ||
+ | location ~ ^/ | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~ / | ||
+ | deny all; | ||
+ | access_log off; | ||
+ | log_not_found off; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Secure cookie ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | Пример | ||
+ | |||
+ | <code php> | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ] | ||
+ | ], | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ], | ||
+ | ' | ||
+ | .... | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ] | ||
+ | ], | ||
+ | ' | ||
+ | .... | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ], | ||
+ | ], | ||
+ | </ | ||
+ | |||
+ | ===== Ссылки ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | {{tag> |