Июн 252015
Добрый день.
Решил разместить информацию про то как запустить joomla 3.4 на nginx.
Допустим у нас уже установлены nginx и php-fpm.
Часть информации было взято из этой статьи, Нашел краткую по основам настройка nginx php-fpm joomla 3.
Этот конфиг должен выдержать нагрузку.
+ Можно добавить акселиратор php, я использую xcache. + Для базы данных активируем кэши.
Мой конфиг. nginx.
root@213:~ # egrep -v '^$|^#' /usr/local/etc/nginx/nginx.conf user www www; worker_processes 12; timer_resolution 100ms; worker_rlimit_nofile 8192; worker_priority -5; error_log /mnt/backLOG/log/nginx/error.log error; pid /var/run/nginx.pid; events { worker_connections 3048; use kqueue; multi_accept on; } http { include /usr/local/etc/nginx/mime.types; default_type application/octet-stream; access_log off; sendfile on; tcp_nopush on; tcp_nodelay on; server_tokens off; client_body_timeout 10; send_timeout 2; client_max_body_size 60m; keepalive_timeout 50; keepalive_requests 100; reset_timedout_connection on; fastcgi_buffer_size 156k; fastcgi_buffers 8 156k; add_header X-Frame-Options SAMEORIGIN; add_header Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block;"; add_header X-Content-Security-Policy "allow 'self';"; add_header X-WebKit-CSP "allow 'self';"; add_header X-Content-Type-Options nosniff; gzip on; gzip_disable "MSIE [1-6]\."; gzip_min_length 1100; gzip_buffers 4 8k; gzip_comp_level 6; gzip_http_version 1.1; gzip_proxied any; gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascript include /usr/local/etc/nginx/conf.d/*.conf; include /usr/local/etc/nginx/sites-enabled/*; } root@213:~ #
Сам конфиг. виртуального хоста.
root@213:~ # egrep -v '^$|^#' /usr/local/etc/nginx/sites-enabled/likeunix.ru listen 3.3.3.3:80; server_name likeunix.ru; return 301 http://likeunix.ru$request_uri; } server { listen 3.3.3.3:80; server_name likeunix.ru; # access_log /mnt/backLOG/log/nginx/like.access_log; error_log /mnt/backLOG/log/nginx/like.error_log info; root /usr/local/www/likeunix.ru; index index.php index.html index.htm default.html default.htm; open_file_cache max=15024 inactive=60s; open_file_cache_valid 300s; open_file_cache_min_uses 2; open_file_cache_errors on; location / { try_files $uri $uri/ /index.php?$args; } location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { return 403; error_page 403 /403_error.html; } location ~ \.php$ { fastcgi_pass unix:/tmp/www.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* \.(ico|pdf|flv)$ { expires 1y; } location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ { expires 30d; } location /administrator/ { index index.php; auth_basic "closed site"; auth_basic_user_file /usr/local/.htpasswd; location ~ \.php$ { fastcgi_pass unix:/tmp/www.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_ignore_client_abort off; fastcgi_param PHP_ADMIN_VALUE "xcache.cacher=Off"; fastcgi_param PHP_ADMIN_VALUE "xcache.stat=Off"; fastcgi_param PHP_ADMIN_VALUE "xcache.optimizer=Off"; } } # Почему-то с модулем и акселиратором php возникла проблема, пришлось создать локейшен выделенный под этот моудль, и отключить акселиратор именно на модули, для pma и админки я также отключил акселиратор php. location ~* ^/modules/mod_videopages/helper.php { fastcgi_pass unix:/tmp/www.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_ADMIN_VALUE "xcache.cacher=Off"; fastcgi_param PHP_ADMIN_VALUE "xcache.stat=Off"; fastcgi_param PHP_ADMIN_VALUE "xcache.optimizer=Off"; } location /pma/ { alias /usr/local/www/phpMyAdmin/; index index.php; auth_basic "closed site"; auth_basic_user_file /usr/local/.htpasswd; location ~ \.php$ { fastcgi_pass unix:/tmp/www.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_ignore_client_abort off; fastcgi_param PHP_ADMIN_VALUE "xcache.cacher=Off"; fastcgi_param PHP_ADMIN_VALUE "xcache.stat=Off"; fastcgi_param PHP_ADMIN_VALUE "xcache.optimizer=Off"; } } location ~ /\.ht { deny all; } }