moje doświadczenia z hostingami, dedykami czyli całą gamą ISP

,

Konfiguracja Nginx pod katalog WebMini

 

Oto fragment pliku konfiguracyjnego z częścią dla jednej domeny, przygotowany pod katalog WebMini.

[stextbox id=”grey”]

 

server {
<——>root /home/naszastrona/www;
<——>index index.php index.html index.htm;
<——>
<——>error_log /home/naszastrona/log/error_log.log;
<——>access_log /home/naszastrona/log/access_log.log;
<——>server_name naszastrona.pl www.naszastrona.pl;

<——>location / {
<——><——>try_files $uri $uri/ /index.php?$args;
<——><——>if (!-e $request_filename) {
<——><——><——>rewrite ^/pages/([0-9]+)/(asc|desc)<—>/index.php?mode=page&page=$1&sort=$2 last;
<——><——><——>rewrite ^/arts/([0-9]+)/(asc|desc)<—->/index.php?mode=arts&page=$1&sort=$2 last;
<——><——><——>rewrite ^/tag/(.+)<—->/index.php?mode=tag&tag=$1 last;
<——><——><——>rewrite ^/tags/p/([0-9]+)$<—->/index.php?mode=tags&page=$1 last;
<——><——><——>rewrite ^/tags/?$<—–>/index.php?mode=tags last;
<——><——><——>rewrite ^/dodaj-wpis$<-><——>/index.php?mode=dodaj last;
<——><——><——>rewrite ^/dodaj-artykul$<——>/index.php?mode=dodaj-artykul last;
<——><——><——>rewrite ^/(.*),artykul,(.*)<—>/index.php?mode=article&id=$1 last;
<——><——><——>rewrite ^/(.*),serwis,(.*).html>/index.php?mode=entry&id=$1 last;
<——><——>}
<——>}
<——>
<——>location ~ \.php$ {
<——><——>fastcgi_pass 127.0.0.1:9000;
<——><——>fastcgi_index index.php;
<——><——>include fastcgi_params;
<——>}
<——>location ~* \.(js|css|png|jpg|jpeg|gif|ico)$
{
<–><——>log_not_found off;
<–><——>access_log off;
<–>        expires 30d;
}

<——># deny access to .htaccess files, if Apache’s document root
<——># concurs with nginx’s one
<——>#
<——>location ~ /\minigog {
<——><——>deny all;
<——><——>access_log off;
<——><——>log_not_found off;
<——>}
<——>location ~ /\.ht {
<——><——>deny all;
<——><——>access_log off;
<——><——>log_not_found off;
<——>}
}

[/stextbox]

 

 

Należy pamiętac aby fragnemt:

rewrite ^/(.*),artykul,(.*)<—>/index.php?mode=article&id=$1 last;
rewrite ^/(.*),serwis,(.*).html>/index.php?mode=entry&id=$1 last;

dopasować do tego jakie mamy ustawienia w pliku config.php (zamiast artytuk może być -art-, a zamiast serwis – strona-).

Czyli (fragment config.php)

[stextbox id=”grey”]// tag w przyjaznych linkach wpisow, taki sam musi sie znalezc w pliku .htaccess
$config[‚url_tag_e’] = ‚serwis’;

// tag w przyjaznych linkach artykulow, taki sam musi sie znalezc w pliku .htaccess
$config[‚url_tag_a’] = ‚artykul’;

// wybierz format prezentacji przyjaznych linkow
# 1 – domena.pl/12345/Tytul_wpisu/wpis.html
# 2 – domena.pl/wpis-12345/Tytul_wpisu.html
# 3 – domena.pl/12345,wpis,Tytul-wpisu.html
# 4 – domena.pl/12345-wpis-Tytul.wpisu
$config[‚url_format’] = ‚3’;[/stextbox]

, ,

Zakup taniego hostingu.

Sposobem na przyciągnięcie klienta do zakupu taniego hostingu jest głównie jego cena.

Nasz hosting na serwerze

Sposobem na jego zniechęcenie może być:

  1. Niedziałający formularz zakupu. Przeciążone formularze JavaScript, wolno działające serwery obsługujące płatność, niezwalidowane formularze pod kontem poprawności wpisywanych danych.
  2. Brak szybkiej płatności lub niedziałająca płatność online. Firmy udostępniające płatności on-line mają specjalne kanały do testowania usług, warto czasami sprawdzać naszą ofertę wysyłając taki test.
  3. Zbyt skąpy opis techniczny co zawiera hosting, np. brak informacji o limicie plików na koncie ustawionym do 50 000. Taki rząd wielkości możemy osiągnąć bardzo szybko instalując w naszym blogu WordPress keszowanie pluginem WP-Super-Cashe, który sporo plików zapisuje w katalogu Cashe.

To tylko trzy błędy jakie napotkałem. Kolejne sprawdzam i testuję.

,

Promocja „Rozdajemy domeny, hosting, strony www”

Ostatnio otrzymałem ofertę na hosting z voucherem od firmy UTI.pl tej treści:

####################Początek oferty ##############################

Witaj!

Dziś ruszyliśmy z wielkim rozdawaniem usług internetowych.

Zobacz to: http://www.uti.pl/voucher/ oferta limitowana!

Domeny internetowe, super pakiety szybkich hostingów, kreator stron www. Voucher za 10 zł!

Ty, jako użytkownik pino.pl i prv.pl, dowiadujesz się o tym pierwszy. Liczba voucherów na usługi ograniczona, czas ucieka!

Kliknij, nie zwlekaj z zamówieniem (ponad 300 zł zostaje w Twojej kieszeni): http://www.uti.pl/voucher/

hosting

promocja hostingu


Pozdrawiam
Julia Walczak

http:www.uti.pl/voucher/
Kontakt:http://bok.uti.pl/index.php?/Tickets/Submit
PS: Oferta voucherów za 10 zł jest ograniczona czasowo.

################ KONIEC oferty ########################

Postanowiłem  skorzystać i kupić domenę pl. Ale zaraz sobie przypomniałem, że od kilku miesięcy leci promocja na domeny w OVH.pl. Czyli to jakby stała oferta po 9.89zł netto.

Uti.pl nowe nieznane mi – kontra – OVH

Uhmmm. co wybrałem?

Oferta chyba przerosła samą firmę:

url zgłasza błąd http://www.uti.pl/o-nas/wstep/

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

 


Web Server at uti.pl
 
,

Uruchomienie strony WWW na VPS z 70MB RAM i 2GB dysk

Do przeprowadzenia małego testu, skorzystałem z hostowisko.pl. Wszystkie VPS są rozliczane za pamięć RAM od 256MB, co miesięcznie daje nam już 70zł brutto. A gdzie dysk i procesor? Mój wybór padł właśnie na tego usługodawcę.

Zachęcony wyliczeniem 9zł/m, skusiłem się.  Za tyle to nawet u innych IP nie dostanę.

Obecnie stoją na VPS dwa blogi WordPress, dziennie ok 100UU / blog.

Pamięć w php.ini ograniczona jest do 65MB,

konfiguracja nginx
/etc/nginx/nginx.conf
worcer_processes 1;
worcer_connections 30;
fastcgi_buffer_size 32k;
fastcgi_buffers 16 16k;
client_max_body_size 10m;
accesss_log off;

komfiguracja PHP5-FPM
/etc/php5/fpm/pool.d/www.conf
[www]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 3
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 100

Kable sieciowe

Plusy:

  • Bardzo niskie koszty utrzymania: ok 12gr/ dzień.
  • Możliwość pozyskania unikalnego IP.
  • Mega szybkie kompilacje i instalacje.
  • Niewiarygodnie szybkie działanie serwera ngnix i php-fpm, prawdopodobnie za sprawą 16 procesorów na maszynie :), której VPSy uruchamiamy.

Minusy:

  • Bazy MySQL nie udało się uruchomić.
  • Podczas instalacji trzeba wyłączać uruchomione procesy, bo brakuje pamięci na kompilowanie.
  • Każda zmiana parametrów w górę (czyli zwiększenie pamięci lub dysku), skutkuje naliczeniem opłaty dziennej.

 

Do hostowisko.pl – płatności powinny przebiegać online, teraz wpłata na konto trochę opóźnia spłatę należności.

,

BlackLists dla NGINX

Zablokowanie danej społeczności jest czasami obowiązkiem.  Obciążenie jakie generują boty z Chin jest ogromne.  Poniżej moja propozycja jak przyblokować IP z danego kraju za pomocą pliku konfiguracyjnego nginx.conf.

Tworzymy plik BASH drop.cn.ip

[stextbox id=”grey”]#!/bin/bash
# A Nginx Shell Script To Block IP Address
# tmp file
FILE=”/tmp/drop.cn.txt.$$”

# nginx config file – path to nginx drop conf file
OUT=/etc/nginx/drop.cn.conf

URL=”http://www.ipdeny.com/ipblocks/data/countries/cn.zone”

# reload command
NGINX=”/etc/init.d/nginx -s reload”

# remove old file
[[ -f $FILE ]] && /bin/rm -f $FILE

# emply nginx deny file
>$OUT

# get database
/usr/bin/wget –output-document=$FILE „$URL”

# format in nginx deny netblock; format
/bin/egrep -v ‚^;’ $FILE  | awk ‚{ print „deny ” $1″;”}’ >>$OUT

# reload nginx
/bin/sync && ${NGINX}

[/stextbox]

 

Wrzucamy ten plik do crona, wystarczy wykonywać go raz na miesiąc /etc/cron.monthly

Czasami plik OUT znajduje się w /opt/nginx/conf , dlatego należy prawidłowo skonfigurować plik drop.cn.ip

W pliku nginx.conf odszukujemy nasz server wirtualny i dodajemy

[stextbox id=”grey”]

server {

include drop.cn.conf;

.

.

.

}

[/stextbox]

 

Uruchamiamy /etc/init.d/nginx -s reload

Odtąd blokujemy wszystkie IP z Chin. Oczywiście musimy pamiętać że klasy IP ulegają zmianie, oraz to że Chińczycy wykupują serwery w klasach IP np. USA.

Analogiczne postępujemy z blokowaniem innych państw.  Wystarczy wszędzie pozmieniać cn na jp lub ru i będziemy mogli blokować Japonię lub Rosję.

 

 

 

 

 

, ,

Awaria serwera na OVH + dyski + poczta + Mysql

Otrzymałem kiedyś zlecenie usunięcia awarii na serwerze w OVH.  Przede mną walczyło z nimi kilku „adminów” 🙂 (musiałem się dowartościować).

Objawy:

Serwer nie odpowiadał na ssh i pingi. Usługi wcześniej uruchomione przestały działać (min. MySQL, Qmaii, Apache 2.0).

Po ręcznym resecie z panelu OVH Manager v3 serwer uruchamiał się w trybie rescue. Jeśli niedoświadczony admin zobaczył coś takiego nie dziwie się, że spanikował. W trybie rescue odpala się specjalna strona WWW do diagnozy serwera. Zawiera ona zaawansowane opcje dla dysków, pamięci i kilka innych przydatnych rzeczy.

Więc admin sobie myśli,

to musi być dysk, dzwonie do OVH.

Oczywiście firma ładnie poinstruuje że oni tylko udostępniają serwer, a użytkownik odpowiada za jego administrację sam (No chyba że wykupi się opcję serwera z administracją, ale kto to kupuje!!!).

No dobra rozpisałem się, a tu rozwiązanie.

espace-day

Wykres dzienny, zwróć uwagę na niebieską linię

Wykresy przedstawiają konsumpcję pojemności dysków twardych.

espace-week

Wykres tygodniowy, tutaj ładnie widać jak zaczyna brakować powieżchni dla katalogów systemu

Przyczyną takiego zużywania przestrzeni dysku były biny z MySQL, czyli piki typu mysqlbin.000001 ,mysqlbin.000002, mysqlbin.000003….

Umieszczane były w katalogu /var/lib/mysql . Można z nich zrezygnować (hash na funkcję mysqlbin czyli #mysqlbin w my.ini)

lub zmienić miejsce ich przechowywania.

Skok niebieskiej linii na wykresie jest po usunięciu tych plików. I o dziwo serwer stoi 🙂