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/