Всем привет!
Нашел ахренительно дешевый и вроде как быстрый VPS хостинг (по крайней мере сравнение времени ответа магазина на ihor.ru и этом показывает выигрыш в ПЯТЬ РАЗ). Полкз все сам настраивать, вроде все настроил и заработало. Но уперся в NginX. Скажите мне, вот эта статья актуальна?
http://www.cs-cart.ru/docs/4.3.x/install/vps/nginx/
Ибо я сразу споткнулся что у меня нет
Найдите на сервере и откройте файл:
/etc/nginx/sites-available/default
Но есть
/etc/nginx/conf.d/default.conf
И в нем
server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
Означает ли это что:
1. У меня по факту не работае ваще NginX?
2. Надо все переделывать как в статье Баженова?
Но у меня на этой машине несколько сайтов...
И нет ли где какого-свежего мануала по настройке centos?
Спасибо!
Инструкция в официальной документации несколько устарела и местами не соответствует действительности. Полагаю, однажды я найду время отправить коллегам PR.
Судя по вашему описанию, у вас работает виртуальный хост localhost, который раздаёт статические файлы из каталоге /usr/share/nginx/html. Для работы магазина на CS-Cart этого недостаточно.
Несколько способов настроить веб-сервер на вашем VPS:
- Воспользоваться Ansible-сценариями от команды CS-Cart. К сожалению, проект плохо поддерживается, однако для CentOS оно должно работать. Если у вас возникнут вопросы, я с удовольствием проконсультирую по Ansible. Наша команда готовит альтернативные сценарии на SaltStack для автоконфигурирования серверов CentOS/RHEL/Scientific Linux.
- Установить панель управления ISPManager, cPanel, и пр. и забыть о проблемах. К сожалению, это чревато тем, что более тонкие настройки всё равно придётся вносить вручную и как-нибудь «дружить» с панелями управления.
- Обратиться к профессионалам (мы готовы вам помочь — напишите на sales@simtechdev.com).
- Настроить самостоятельно.
Если вы будете настраивать самостоятельно, я рекомендую воспользоваться связкой NGINX + Apache (mod_php SAPI), чтобы не испытывать проблем при переписывании правил Apache под NGINX. Описывать каждый шаг достаточно долго, потому раскрою только основные моменты при работе с CentOS:
1. Подключите репозитории epel-release и remi-release.
2. Установите NGINX, настройте каждый виртуальный хост (/etc/nginx/conf.d/*.conf) согласно этому образцу:
upstream apache {
server 127.0.0.1:8080 max_fails=0;
}
server {
listen 80;
server_name example.com;
server_name www.example.com;
root /var/www/html/example.com;
client_max_body_size 100m;
location @backend {
proxy_pass http://apache;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
try_files /maintenance.html @backend;
location ~* \.(jpeg|ico|jpg|gif|png|css|js|pdf|txt|tar|wof|csv|zip) {
access_log off;
try_files $uri @backend;
expires max;
add_header Access-Control-Allow-Origin *;
add_header Cache-Control public;
}
}
}
ServerAdmin root@example.com
ServerName example.com
ServerAlias www.example.com
ServerSignature Off
CustomLog /var/log/httpd/access.log combined
ErrorLog /var/log/httpd/error.log
LogLevel warn
DocumentRoot /var/www/html/example.com
<Directory />
Options -Indexes +MultiViews +FollowSymlinks +SymLinksIfOwnerMatch +IncludesNoExec
AllowOverride All
</Directory>
<Directory /var/www/html/example.com>
Options -Indexes +MultiViews +FollowSymlinks +SymLinksIfOwnerMatch +IncludesNoExec
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory ~ ".*\.svn">
Order allow,deny
Deny from all
Satisfy All
</Directory>
<Directory ~ ".*\.git">
Order allow,deny
Deny from all
Satisfy All
</Directory>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|gif|png|js|css)$">
Header set Cache-control "public, max-age=86400"
</FilesMatch>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|css)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
4. Перезагружайте каждый из веб-серверов.
5. Готово.
Разумеется, в работе есть много нюансов, потому качественную настройку я рекомендую доверить специалистам.