Witajcie, dziś poradnik jak uruchomić sklep PrestaShop na serwerze WWW NGINX.
W dokumentacji widnieje bowiem NGINX jako serwer który Prestę wspiera, więc postanowiłem pokazać Wam moją propozycję pliku konfiguracyjnego (wirtualnego hosta).
W mojej konfiguracji domyślnie przekierowanie następuje na połączenie szyfrowane https, więc do działania musisz mieć certyfikat lub po prostu musisz sobie przerobić konfiga.
#### V-HOST by LINUXIARZ.PL ####
##PRZEKIEROWANIE NA HTTPS
server {
listen 80;
server_name www.domena.pl domena.pl;
return 302 https://domena.pl$request_uri?;
}
server {
fastcgi_read_timeout 180s;
listen 443 ssl spdy;
server_name domena.pl www.domena.pl;
root /home/www/presta; ## KATALOG DO PLIKOW WWW
index index.php index.html;
##LOGI - SCIEŻKI
access_log /var/log/nginx/domena.pl-access.log combined;
error_log /var/log/nginx/domena.pl-error.log error;
#WŁĽCZ JESLI MASZ PAGESPEED (np. moje kompilacje)
#pagespeed on;
## USTAWENIA SSL
ssl on;
ssl_certificate /etc/ssl/ssl/ssl-unified.crt;
ssl_certificate_key /etc/ssl/ssl/klucz.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_prefer_server_ciphers on;
#
spdy_headers_comp 5;
ssl_buffer_size 1400;
ssl_session_tickets on;
add_header Alternate-Protocol 443:npn-spdy/3;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/ssl/ssl/ca-certs.pem;
## PRZEKIERUJ WSZYSTKIE ZAPYTANIA NON-SSL NA SSL
if ($http_host != "domena.pl") {
rewrite ^ https://domena.pl$request_uri permanent;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
## WYKLUCZ DOSTEP DO PLIKÓW z "." NA POCZĽTKU
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2$3.jpg last;
rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
rewrite ^/c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2$3.jpg last;
rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
rewrite ^/images_ie/?([^/]+)\.(jpe?g|png|gif)$ /js/jquery/plugins/fancybox/images/$1.$2 last;
try_files $uri $uri/ /index.php$is_args$args;
error_page 404 /index.php?controller=404;
location ~* \.(gif)$ {
expires 2592000s;
}
location ~* \.(jpeg|jpg)$ {
expires 2592000s;
}
location ~* \.(png)$ {
expires 2592000s;
}
location ~* \.(css)$ {
expires 604800s;
}
location ~* \.(js|jsonp)$ {
expires 604800s;
}
location ~* \.(js)$ {
expires 604800s;
}
location ~* \.(ico)$ {
expires 31536000s;
}
## USTAWIENIA PHP
location ~ \.php$ {
try_files $uri =404;
## TAKA SCIEŻKA DO PHP5-FPM DLA MOJEGO SERWERA (DEBIAN7)
fastcgi_pass unix:/var/run/php-fpm.socket;
## DLA DEBIANA 8 DOMYSLNE
#fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
Plik konfiguracyjny jest tutaj:
http://pliki.linuxiarz.pl/10-2015/presta.conf
Pobierz 🙂
wget http://pliki.linuxiarz.pl/10-2015/presta.conf -O /etc/nginx/conf.d/preshashop.conf
Powyższy konfig bardzo świetnie sprawuje się w sklepie Lem-ON.pl https://sklep.lem-on.pl/