Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [DokuWiki] Apache czy Nginx
CarlBraniewski
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Witam wszystkich serdecznie.

Chcę stworzyć stronę www na podstawie DokuWiki.

Wymagania: http://www.dokuwiki.org/pl:requirements
Strona projektu: http://www.splitbrain.org/projects/dokuwiki

I teraz pytanie, jaki serwer www wybrać aby spełniał podane w pierwszym linku wymagania? Czy nginx je spełnia, bo apache to na pewno, zresztą on jest zalecany. Który serwer www lepiej wybrać do takiego celu, bo ostatnio wiele o uszy obiło mnie się, że apache wymięka, co zresztą widziałem na statystykach wydajności, no ale tutaj chyba nie jest to ważne?

Z góry dziękuję za podpowiedzi.

Ten post edytował CarlBraniewski 12.06.2009, 11:45:45
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://lmgtfy.com/?q=nginx%20dokuwiki

To chyba rozwieje Twoje wątpliwości. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
CarlBraniewski
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Okay wybrałem nginx + php5, ten pierwszy zainstalował się bez problemu, ale php5, wyrzuciło:

Kod
Rozpakowanie php5-common (z .../php5-common_5.2.9.dfsg.1-4_amd64.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu libapache2-mod-php5.
Rozpakowanie libapache2-mod-php5 (z .../libapache2-mod-php5_5.2.9.dfsg.1-4_amd64.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu php5.
Rozpakowanie php5 (z .../php5_5.2.9.dfsg.1-4_all.deb) ...
Przetwarzanie wyzwalaczy dla man-db...
Konfigurowanie libapr1 (1.3.3-4) ...
Konfigurowanie libaprutil1 (1.3.4+dfsg-2) ...
Konfigurowanie libaprutil1-dbd-mysql (1.3.4+dfsg-2) ...
Konfigurowanie libaprutil1-ldap (1.3.4+dfsg-2) ...
Konfigurowanie apache2.2-bin (2.2.11-5) ...
Konfigurowanie apache2-utils (2.2.11-5) ...
Konfigurowanie apache2.2-common (2.2.11-5) ...
Konfigurowanie apache2-mpm-prefork (2.2.11-5) ...
Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
.
dpkg: --compare-versions wymaga podania trzech argumentów: <wersja> <relacja> <wersja>

Wpisz dpkg --help, aby dowiedzieć się jak (od)instalować pakiety [*];
Użyj "dselect" lub "aptitude", jeśli potrzebujesz wygodnego programu
do zarządzania pakietami;
Wpisz  dpkg -Dhelp, aby dowiedzieć się o opcjach debuggera;
Wpisz  dpkg --force-help, aby dowiedzieć się, jak ignorować problemy;
Wpisz  dpkg-deb --help, aby dowiedzieć się, jak operować plikami *.deb;
Wpisz  dpkg --licence, aby poznać warunki licencji i gwarancji (GNU GPL) [*].

Opcje oznaczone [*] podają dużo treści - skieruj potok na "less" lub "more"!
Konfigurowanie php5-common (5.2.9.dfsg.1-4) ...
Konfigurowanie libapache2-mod-php5 (5.2.9.dfsg.1-4) ...
Reloading web server config: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
.
Konfigurowanie php5 (5.2.9.dfsg.1-4) ...
Czytanie list pakietów... Gotowe                    
Budowanie drzewa zależności      
Odczyt informacji o stanie... Gotowe
Odczyt dodatkowych informacji o stanie      
Inicjalizacja stanów pakietów... Gotowe
Zapisywanie dodatkowych informacji o stanie... Gotowe
Odczyt opisów zadań... Gotowe


Dlaczego na siłę chce mi startować Apache2?
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie instaluj z paczek, skompiluj ze źródeł.

A instaluje siłą, gdyż wrzucasz libapache2-mod-php5; nie wiem, czy zależności tego wymagają, ale jeśli tak - zostaje tylko kompilacja.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
atsuki
post
Post #5





Grupa: Zarejestrowani
Postów: 99
Pomógł: 6
Dołączył: 7.06.2009

Ostrzeżenie: (0%)
-----


jezeli nginx + php.. to php musi dzialac jako fast-cgi. Inaczej nie da rady. Ta jak erix pisze nie instaluj php z paczek, trzeba skompilować samodzielnie, licząc wiele roboty nie ma. Jak jeszcze mogę coś doradzić, to lepiej od zwykłego php zainsteresować się php-fpm. Małe how to - klik. Nie jest to nic trudnego do zrobienia, a wydajnościowo o wiele lepsze. Nginx tez nie instaluje z paczek, to w repo jest stare jak świat. Tez skompiluj samodzielnie.

linki:
nginx
php-fpm
Go to the top of the page
+Quote Post
CarlBraniewski
post
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Atsuki dzięki za linka do how-to, zatrzymałem się w tym momencie:

Cytat
- Then we setup PHP-FPM, choosing the user php-cgi should run as:
vi /usr/local/etc/php-fpm.conf
:63
www-data
:66
www-data

In the php-fpm.conf you also may be interested to setup an appropriate number of workers (default is 5).
This is a quote from PHP-FPM author and developer, Andrei Nigmatulin :

The practical approach is
1) watching 'top' for running php-cgi workers
2) watching 'netstat -np | grep 127.0.0.1:9000' for fastcgi connections (if in linux):

tcp 0 0 127.0.0.1:9000 127.0.0.1:59053 ESTABLISHED 21881/php-cgi
tcp 0 0 127.0.0.1:9000 127.0.0.1:59057 ESTABLISHED -

The first line corresponds to accepted fastcgi connection and the second is
still waiting in a backlog (not accepted).
You'll need to set higher max_children in php-fpm.conf in order to minimize amount of awaiting connections.


A głównie to ta część (poniżej) mnie interesuje bo druga część to tylko cytat jak sprawdzić czy php-cgi pracuje z tego co widzę.

Cytat
vi /usr/local/etc/php-fpm.conf
:63
www-data
:66
www-data


Nie bardzo rozumiem co zrobic? Coś modyfikować czy olać to i przejsć dalej? Mój plik /usr/local/etc/php-fpm.conf:
http://wklej.to/e1Ka

Później gdy wykonam polecenie 'phpize' to otrzymuję:
Cytat
Cannot find config.m4.
Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module


Ten post edytował CarlBraniewski 17.06.2009, 13:23:08
Go to the top of the page
+Quote Post
atsuki
post
Post #7





Grupa: Zarejestrowani
Postów: 99
Pomógł: 6
Dołączył: 7.06.2009

Ostrzeżenie: (0%)
-----


63 i 66 to numery lini. musisz odkomentowac, usunac <!-- na poczatku i koncy tych lini. W liniach ustalasz tez usera na ktorego prawach bedzie chodzilo php-fpm.

Co do phpsize. tam jest blad w how to. Pierw musisz wejsc do katalogu xcache po rozpakoaniu i dajesz phpsize.

Ten post edytował atsuki 17.06.2009, 13:28:55
Go to the top of the page
+Quote Post
CarlBraniewski
post
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Wybacz mój nieprofesjonalizm, ale nigdy nie miałem z tym do czynienia, jedynie na wikidot.com - a tam jest to banalne.

1. Użytkownika i grupę mam wpisać "www-data"? I później w pliku /usr/local/nginx/conf/ngingx.conf też? Bo cały ten plik zastąpiłem wpisem z how to.

2. To:
Kod
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

dopisałem na końcu pliku w /usr/local/nginx/conf/fastcgi_params

3. Plik wordpress-domain.ext utworzyć mam w katalogu /sites-enabled, a jego gdzie, w /usr/local/nginx?

W "server_name" podaję nazwę domeny jaką mam sobie wykupić? I to w przykładzie jest "www.wordpress-domain.ext"?

Ta linijka:
"server_name www.wordpress-domain.ext;"
Go to the top of the page
+Quote Post
atsuki
post
Post #9





Grupa: Zarejestrowani
Postów: 99
Pomógł: 6
Dołączył: 7.06.2009

Ostrzeżenie: (0%)
-----


Cytat(CarlBraniewski @ 17.06.2009, 15:42:46 ) *
1. Użytkownika i grupę mam wpisać "www-data"? I później w pliku /usr/local/nginx/conf/ngingx.conf też? Bo cały ten plik zastąpiłem wpisem z how to.

Uzytkownika wpisujesz wedle uznania. Na prawach tego uzytkownika będzie działo ci php. A użytkownika którego wpiszesz w configu nginxa to na prawach tego usera będzie działał nginx. Jakiego usera wpiszesz... to zalęzy od ciebie smile.gif. apache ma standardowo np www-data, autor how to zrobił usera tak jak to ma apacha. A, pamietaj aby ten user istniaj w systemie tongue.gif

Cytat
2. To:
Kod
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

dopisałem na końcu pliku w /usr/local/nginx/conf/fastcgi_params

OK

Cytat
3. Plik wordpress-domain.ext utworzyć mam w katalogu /sites-enabled, a jego gdzie, w /usr/local/nginx?

nginx ma troche inaczej.. autor tak zrobil pewnie z przywyczajenia do apacha, ktory ma taki układ plików konfiguracyjnych i virtualhostow. Nginx ma to do siebie, że ma jeden globalny config, w którym jest wszystko. Bajer jest tylko taki, że możesz używać funkcji include wszędzie. A to jak sobie ponazywasz katalogi, czy plik z konfiguracją dla twojej domeny jest bez najmiejszego znaczenia. Zrób tak, jak ci wygodniej i abyś się mógł swobodnie porusząc z zamkniętymi oczami po tym smile.gif. I pamiętaj aby dać dobrą ściężkę w include.


Cytat
W "server_name" podaję nazwę domeny jaką mam sobie wykupić? I to w przykładzie jest "www.wordpress-domain.ext"?

Tak, w server_name dajesz hosta + możesz dać wiećej niż jeden. np domena.pl www.domena.pl *.domena.pl;
linie konczysz zasze ;
Go to the top of the page
+Quote Post
CarlBraniewski
post
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Domeny co prawda jeszcze nie opłaciłem, ale php-fpm uruchamia się bez żadnych komunikatów, zaś nginx zwraca:
Cytat
[warn]: duplicate MIME type "text/html" in /usr/local/nginx/conf/nginx.conf:14
[emerg]: host not found in "domain.ext:80" of the "listen" directive in /usr/local/nginx/sites-enabled/moja.net:3


A plik /usr/local/nginx/sites-enabled/moja.net wygląda tak:
Kod
server {
listen domain.ext:80
server_name www.moja.net;
index index.php;
root /var/www/moja-domain;
location / {
error_page 404 = //index.php?q=$uri;
}  
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /usr/local/nginx/conf/fastcgi_params;
}  
}
Go to the top of the page
+Quote Post
atsuki
post
Post #11





Grupa: Zarejestrowani
Postów: 99
Pomógł: 6
Dołączył: 7.06.2009

Ostrzeżenie: (0%)
-----


brak ; po listen + w listen wpisujesz host / numer ip na którym ma słuchać nginx. czyli jest to host /numer ip twojego serwera. Ewentualnie zostaw sam port 80. Wtedy nginx odpowie na każde zapytanie do serwera.

No i coś masz podwójnie w 14 linijce tongue.gif

Ten post edytował atsuki 18.06.2009, 09:58:05
Go to the top of the page
+Quote Post
CarlBraniewski
post
Post #12





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


1. Właśnie rzecz w tym, że nie mam nic zreplikowanego (przedostatnia linia):
Kod
user carl;
worker_processes 2;
events {
worker_connections 768;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nodelay on;
keepalive_timeout 10 10;
gzip on;
gzip_comp_level 1; gzip_proxied any;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /usr/local/nginx/sites-enabled/*;
}

Ostrzeżenie się pojawia...

2. Zostawiłem samo "80" i błąd zniknął, ale teoretycznie już pytając jaki będzie mój host jeśli wykupiłem domenę w serwisie nazwa.pl przykładowo taką: moja.net

3. Jak sprawdzić czy powyższe w ogóle działa smile.gif. Gdzie wrzucić jakąś przykładową stronę, jest do tego wyznaczony katalog?

Ten post edytował CarlBraniewski 18.06.2009, 13:43:44
Go to the top of the page
+Quote Post
atsuki
post
Post #13





Grupa: Zarejestrowani
Postów: 99
Pomógł: 6
Dołączył: 7.06.2009

Ostrzeżenie: (0%)
-----


ad. 1 - gdzies jest powtórzenie, ale z warn da sie zyc smile.gif

ad. 2 - mam nadzieje ze rozróżniasz host / adres ip serwera od domeny?

ad. 3 - a pomyśl do czego może służyć definicja root + fakt, że podajesz w niej ścieżke do katalogu... tak na chłopski rozum smile.gif

Ten post edytował atsuki 18.06.2009, 15:04:38
Go to the top of the page
+Quote Post
CarlBraniewski
post
Post #14





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Wszystko byłoby okay, bo na localhoscie chodzi, strona się wyświetla. Jednak podając w przeglądarce adres domeny jaką wykupiłem ukazuje się informacja, że nie umieszczono jeszcze żadnej strony.

Przykładowo (działa):
Kod
http://localhost/moja-strona

A tak (nie działa):
Kod
http://moja-domena.net/moja-strona
http://moja-domena.net/

W czym może być problem? Pokazać pliki konfiguracyjne?
Go to the top of the page
+Quote Post
erix
post
Post #15





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A jaki Vhost masz ustawiony? snitch.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
CarlBraniewski
post
Post #16





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Założmy, że domena jaką wykupiłem to: proba.net

Domenę mam w nazwa.pl. Mój plik "usr/local/nginx/sites-enabled/proba.net":
Kod
server {
listen 80;
server_name www.proba.net;
index index.php;
root /var/www/proba-domain;
location / {
error_page 404 = //index.php?q=$uri;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /usr/local/nginx/conf/fastcgi_params;
}
}

Ustawiałem według tego. Może powinienem zmienić coś w lini:
Kod
location / {

?
Go to the top of the page
+Quote Post
erix
post
Post #17





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A pokaż główną konfigurację.

Z tego, co pamiętam, to chyba jest coś w stylu site-default.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
atsuki
post
Post #18





Grupa: Zarejestrowani
Postów: 99
Pomógł: 6
Dołączył: 7.06.2009

Ostrzeżenie: (0%)
-----


Cytat
Wszystko byłoby okay, bo na localhoscie chodzi, strona się wyświetla. Jednak podając w przeglądarce adres domeny jaką wykupiłem ukazuje się informacja, że nie umieszczono jeszcze żadnej strony.


Takie coś jest nie możliwe do uzyskania w nginxie... nginx nie ma takiego "ficzera" że jak katalog pusty to wyswietli cos takiego tongue.gif. Ustaw może rekodzik A dla domeny, aby wskazywal na twoj pececik? Bo to caly czas masz strone u siebie na kompie. Pamietaj oczywiscie o otwarciu portu 80, przekierowaniu jak masz router i inne takie.

Przy okazji sprawdż access.log, czy wogole trafia to do nginxa i mam racje, ze masz zle domene skonfigurowana.

Aby miec logi, dodajsz do server:

Kod
access_log /sciezka_gdzie_ma_zapisac main;
error_log /sciezka_gdzie_ma_zapsiac errror;


jak nie masz skonfigurowanego main, dodajesz w http

Kod
    log_format  main '$remote_addr - $remote_user [$time_local] '
                     '"$request" $status $body_bytes_sent '
                     '"$http_referer" "$http_user_agent"';


sposob logowania i informaje, ilosc profili mozesz sobie ustawiac do woli. Ja uzywam tego, jest zgodny z apache, dzieki temu np i z awstats który robi mi statystyki.

A jak chcesz cokolwiek sprawdzać, sprwdzaj error.log nginxa, tam ci ladnie serwerek wspomni, co mu nie pasi, i jego zapodaj no forum.

a tak na uboczu:
Kod
serwer_name proba.net www.proba.net;


po wszystkich oczywiscie
Kod
nginx -s restart


Cytat(erix @ 24.06.2009, 16:11:32 ) *
A pokaż główną konfigurację.

Z tego, co pamiętam, to chyba jest coś w stylu site-default.


tak.. jest. Jest napis na środku: "Nginx Works" tongue.gif

Ten post edytował atsuki 24.06.2009, 15:35:45
Go to the top of the page
+Quote Post
CarlBraniewski
post
Post #19





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


Nie zastosowałem się jeszcze do ostatnich wskazówek, wciąż pracuję na localhost. Chciałem odpalić php-fpm i nginx i wszystko okay tylko strona się nie wyświetla. Nie robiłem niczego poza standardową edycją stron, a teraz w przeglądarce dostaję:
Cytat
DokuWiki Setup Error

The datadir ('pages') does not exist, isn't accessible or writable. You should check your config and permission settings. Or maybe you want to run the installer?

Rozumiem komunikat, ale nie wiem co jest nie tak jak być powinno.
Go to the top of the page
+Quote Post
atsuki
post
Post #20





Grupa: Zarejestrowani
Postów: 99
Pomógł: 6
Dołączył: 7.06.2009

Ostrzeżenie: (0%)
-----


zarowno nginx jak i php-fpm dziala na prawach usera, ktorego wpisales w configach. wyrzuca ci komunikat ze albo serwer, albo php nie ma praw zapisu do katalogu. A pod jakim userem jest dokuwiki.. jakie sa prawa na katalogi, nie wiem. To juz musisz sprawdzic.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:30