eCommerce construction > Installation and Configuration
NGINX configuration
(1/1)
onyxnz:
This is not a question, but rather a helper for anyone else out there that may prefer to develop on NGINX in their localhost;
My AC version is 1.2.9, laptop running Mintlinux 18.1 with Nginx 1.10 and PHP-FPM 7 and Mariadb.
Note , because it is in localhost, and I need speed, there is no SSL configuration. Ask if you need help with that.
Also, I have nginx running as me , so it is capable of writing log files to where it easiest for me to get them!
So, my /etc/nginx/sites-available/default has this added to it:
--- Code: ---server {
listen 80;
server_name mydomain.com;
access_log /home/onyx/logs/abantecart.log;
error_log /home/onyx/logs/abantecart_error.log ;
# root is AbanteCart's public_html directory
root /home/onyx/htdocs/abantecart;
index index.php index.html index.htm;
# Prevent directory listing
autoindex off;
# rules applied in root of our config
location / {
# include AbanteCart rules
try_files $uri $uri/ $uri.php @abantecart_rules;
# php settings (may differ on your server)
location ~ \.php$ {
#fastcgi_pass unix:/var/run/php5-fpm.sock;
#change this to suit your setup for fastcgi!!
fastcgi_pass 127.0.0.1:9001;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
}
# rewrites our query strings properly for AbanteCart
location @abantecart_rules {
rewrite ^(.*)\?*$ /index.php?_route_=$1 last;
}
# No direct access allowed for .tpl files
location ~ \.tpl {
deny all;
}
}
--- End code ---
Then in /etc/hosts you will need
--- Code: ---127.0.0.1 mydomain.com
--- End code ---
Don't forget you need to edit these as Superuser, and then restart the nginx server with
--- Code: ---sudo service nginx restart
--- End code ---
Questions and comments welcome
abolabo:
Hi. Thank you for your post!
FYI
In the current dev-version we added nginx config example that supports SEO-keywords and rewriting rules for retina-images
See details here
https://github.com/abantecart/abantecart-src/blob/1.2.10/public_html/nginx.conf.txt
We would be glad if you checked this configuration for yourself :)
onyxnz:
Thanks, will do!
onyxnz:
So, with the addition of dev-version's config, we have this:
--- Code: ---server {
listen 80;
server_name mydomain.com;
access_log /path/to/logs/abantecart.log;
error_log /path/to/logs/abantecart_error.log ;
# root is AbanteCart's public_html directory
root /path/to/htdocs/abantecart;
index index.php index.html index.htm;
# Prevent directory listing
autoindex off;
# rules applied in root of our config
location / {
# include AbanteCart rules
try_files $uri $uri/ $uri.php @abantecart_rules;
# php settings (may differ on your server)
location ~ \.php$ {
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_pass 127.0.0.1:9001;
#fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
}
# rewrites our query strings properly for AbanteCart
location @abantecart_rules {
rewrite ^(.*)\?*$ /index.php?_route_=$1 last;
}
# No direct access allowed for .tpl files
location ~ \.tpl {
deny all;
}
### Abantecart Settings ###
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Make sure files with the following extensions do not get loaded by nginx because nginx would
# display the source code, and these files can contain PASSWORDS!
location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
deny all;
}
# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
### Retina images handler. Check cookie and looking for file with @2x at the end of name
location ~* ^(.*)\.(jpg|png|gif)$ {
set $hidpi_uri $1@2x.png;
if ($http_cookie !~ 'HTTP_IS_RETINA=1') {
break;
}
try_files $hidpi_uri $uri =404;
}
location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
expires max;
log_not_found off;
}
location ~ /(system/logs|resources/download) {
deny all;
return 403;
}
location /admin/ {
location ~ .*\.(php)?$ {
deny all;
return 403;
}
}
#rewrite for images for retina-displays
location ~ / {
if (!-e $request_filename){
rewrite ^/(.*)\?*$ /index.php?_route_=$1 last;
}
}
### End of AbanteCart settings ###
}
--- End code ---
Thunder_Beaver:
Thanks! I may try this out later.
---
I just realized this is a really old post. lol. 1.2.17 is the current version at the time of this comment.
Navigation
[0] Message Index
Go to full version