
Инструкция как в nginx php-fpm bitrix запустить.
Рабочий конфиг. nginx для запуска bitrix.
root@site_loc:/usr/src # cat /usr/local/etc/php-fpm.conf | egrep -v '^$|;' [global] pid = run/php-fpm.pid events.mechanism = kqueue [www] user = use222 group = use222 listen = /tmp/www.sock listen.owner = use222 listen.group = use222 pm = dynamic pm.max_children = 455 pm.start_servers = 18 pm.min_spare_servers = 18 pm.max_spare_servers = 19 pm.max_requests = 4000 security.limit_extensions = .php .php3 .php4 .php5 # Соккет для второго сайт, отдельно будим его обрабатывать. [premiumsmoke] user = use222 group = use222 listen = /tmp/smoke.sock listen.owner = use222 listen.group = use222 pm = dynamic pm.max_children = 355 pm.start_servers = 15 pm.min_spare_servers = 15 pm.max_spare_servers = 17 pm.max_requests = 3500 security.limit_extensions = .php .php3 .php4 .php5 php_admin_value[mbstring.func_overload]=0 php_admin_value[mbstring.internal_encoding]=latin
root@site_loc:/usr/src # cat /usr/local/etc/nginx/nginx.conf
user use222 use222;
worker_processes 8;
timer_resolution 100ms;
worker_rlimit_nofile 8192;
worker_priority -5;
#
error_log /mnt/log/nginx/error.log error;
pid /var/run/nginx.pid;
events {
worker_connections 3048;
use kqueue;
multi_accept on;
}
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=8r/s;
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
#
include /usr/local/etc/nginx/mime.types;
default_type application/octet-stream;
# access_log /mnt/log/nginx/access.log;
access_log off;
log_format compression '$remote_addr - [$time_local] '
'"$request" $status '
'"$http_user_agent"';
#
map $request_method $bad_method {
default 1;
~(?i)(GET|HEAD|POST) 0;
}
# Add here all user agents that are to be blocked.
map $http_user_agent $bad_bot {
default 0;
~(?i)(httrack|WinHTTrack|htmlparser|libwww|Python|perl|urllib|Zeus|scan|Curl|email|PycURL|Pyth|PyQ|WebCollector|WebCopier|WebCopy|webcraw|LWP::simple|Havij)
1;
}
# Bad referers.
map $http_referer $bad_referer {
default 0;
~(?i)(babes|click|forsale|jewelry|nudit|organic|poker|amnesty|poweroversoftware|webcam|zippo|casino|replica) 1;
}
#
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
client_body_timeout 15;
send_timeout 5;
client_max_body_size 30m;
keepalive_timeout 25;
keepalive_requests 100;
reset_timedout_connection on;
fastcgi_buffer_size 156k;
fastcgi_buffers 16 156k;
fastcgi_read_timeout 900;
#
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 7;
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_old/*;
}
root@site_loc:/usr/src # cat /usr/local/etc/nginx/sites-enabled_old/site.local
server {
listen 1.1.2.1:80;
root /usr/local/www/default;
}
server {
listen 1.1.2.1:80;
server_name www.site.local;
return 301 http://site.local$request_uri;
}
server {
listen 1.1.2.1:80;
open_file_cache max=430000 inactive=120s;
open_file_cache_valid 360s;
open_file_cache_min_uses 1;
open_file_cache_errors on;
server_name site.local;
access_log /mnt/log/nginx/access_akbpower.log;
root /usr/local/www/site.local;
index index.html index.php;
rewrite ^([^.\?]*[^/])$ $1/ permanent;
if ($request_uri ~ "^(/(?!personal|search).*)index\.(?:php|html)") {
return 301 $1;
}
# Deny access based on HTTP method
if ($bad_method = 1) { return 444; }
# Deny access based on the User-Agent header
if ($bad_bot = 1) { return 403; }
# Deny access based on the Referer header
if ($bad_referer = 1) { return 403; }
location / {
root /usr/local/www/site.local;
index index.php;
error_page 404 = /404.php;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/site.local/$fastcgi_script_name;
include fastcgi_params;
if (!-f $request_filename) {
rewrite ^(.*)$ /404.php last;
}
}
location ^~ /bitrix/admin/ {
index index.php;
satisfy any;
allow 4.3.1.9;
deny all;
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_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_ignore_client_abort off;
}
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~* ^/bitrix/components/bitrix/player/mediaplayer/player$ {
add_header Access-Control-Allow-Origin *;
}
location ~* ^/(upload|bitrix/images|bitrix/tmp) {
expires 30d;
access_log off;
}
location = /404.html {
access_log off ;
}
location ~* \.(swf|zip|rar|arj|cab|exe|dll|ico|jpg|jpeg|gif|bmp|png|mp3|avi|mov|mpg|mpeg|txt|amr|mmf|wml|wbmp|mid|midi|3gp)$ {
expires 30d;
charset utf-8;
source_charset utf-8;
access_log off;
}
location ~ (/\.ht|/bitrix/modules|bitrix/managed_cache|bitrix/local_cache|bitrix/stack_cache|/upload/support/not_image|/bitrix/php_interface) {
deny all;
access_log off;
}
location ~* ^/upload/1c_[^/]+/ { deny all; }
#location ~* /\.\./ { deny all; }
location ~* ^/bitrix/html_pages/\.config\.php { deny all; }
location ~* ^/bitrix/html_pages/\.enabled { deny all; }
location ^~ /upload/support/not_image { internal; }
#location ~* ^/bitrix/cache { deny all; }
#location ~* .*$ { deny all; }
location ~ /.svn/ {
deny all;
access_log off;
}
location ~ /\.ht {
deny all;
access_log off;
}
}
Тут можно посмотреть какие редиректы можно добавить к конфигу nginx редиректы nginx.
Вот и вся инструкция по переводу с apache на nginx php-fpm bitrix.