Всем привет!
Нашел ахренительно дешевый и вроде как быстрый 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.comServerSignature 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. Готово.
Разумеется, в работе есть много нюансов, потому качественную настройку я рекомендую доверить специалистам.