Отже, сьогодні я розкажу вам як підняти Веб сервер на слабенькому комп'ютері або VDS / VPS. Для того, щоб приступити до налаштування серверу ознайомтесь з LAMP.
Для роботи з сервером використовую VDS від infiumhost.com такої конфігурації.
VDS-Mini: 900 Мгц, 256 Мб, 12 Гб, Debian 5.0
Ну що для початку оновим нашу систему.
aptitude update aptitude upgrade
Встановлюєм функцію WGET, якщо вона відсутня
aptitude install wget make
Встановлюєм WebMin для зручнішої навігації по серверу (після установки він доступний за адресою https://ваш адреса:10000)
dpkg --install webmin_1.550_all.deb
Встановлюєм SHH
aptitude install ssh openssh-server
Встановлюэм g++
aptitude install g++
Тепер нам потрібно встановити LAMP
aptitude install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl phpmyadmin
По ходу встановлення вводимо пароль користувача сервера MySQL (root):
Редагуєм конфіг по замовчуванню, і далі від нього і відштовхуємося при створенні віртуалхостів:
nano /etc/apache2/sites-available/default (все стираємо і налаштовуємо під ваші потреби)
(Порт 81 це не помилка, так і повинно бути, бо слухати 80й порт у нас буде Nginx, і в апач передавати тільки запити на динаміку (PHP і ін)):
<VirtualHost *:81> ServerAdmin webmaster@твій_сайт DocumentRoot /var/www/твій_сайт <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride All Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>Робимо посилання на наш файл в папці /etc/apache2/sites-enabled/
Редагуєм файл nano /etc/apache2/apache2.conf в двох місцях
MaxClients 20
Ставим nginx + apache2-mod-rpaf
wget http://ftp.de.debian.org/debian/pool/main/n/nginx/nginx_0.7.62-1_i386.deb dpkg -i nginx_* aptitude install libapache2-mod-rpafnano /etc/apache2/ports.conf
NameVirtualHost *:81 Listen 81
Далі налаштовуємо віртуальний хост Апачу:
Копіюєм дефолтновий конфіг і редагуєм під себе
cd /etc/apache2/sites-available cp ./default /etc/apache2/sites-enabled/example.com
Налаштовуємо GZIP стиснення для Nginx. І сам Nginx (worker_processes 1; ставимо рівній кількості ядер в процесорі). Відкриваємо конфіг:
nano /usr/local/etc/nginx/nginx.conf
все стираємо і робимо так:
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_proxied any;
gzip_min_length 1100;
gzip_http_version 1.0;
gzip_buffers 4 8k;
gzip_comp_level 9;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Для нашого віртуалхоста створюємо новий конфіг:
nano /etc/nginx/sites-enabled/example.com
server {
listen 80;
server_name example.com;
access_log /var/log/nginx.access_log;
location ~* .(jpg|jpeg|gif|png|css|zip|tgz|gz|
rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /var/www/test.gigma.ru/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /.ht {
deny all;
}
location / {
proxy_pass http://127.0.0.1:81/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}
З такими налаштуваннями Nginx у нас віддає всю статику (картинки, відіое, музику, CSS, ява скрипти і ін), А апач працювати тільки над виконанням PHP.
Встановлюємо Memcached:
aptitude install memcached
Наступні дії необовязкові!
Встановлюємо Eaccelerator.
aptitude install php5-dev aptitude install make cd /tmp/ wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2 tar xvjf eaccelerator-0.9.5.3.tar.bz2 cd eaccelerator-0.9.5.3 phpize ./configure --enable-eaccelerator=shared make make install
Створюємо папку кеша:
mkdir -p /var/cache/eaccelerator chmod 0777 /var/cache/eaccelerator
Редагуємо конфіг PHP:
nano /etc/php5/apache2/php.ini
Додаємо рядки в самому верху:
[PHP] ; eAccelerator configuration ; Note that eAccelerator may also be installed as a PHP extension or as a zend_extension ; If you are using a thread safe build of PHP you must use ; zend_extension_ts instead of zend_extension extension = "eaccelerator.so" eaccelerator.shm_size = "16" eaccelerator.cache_dir = "/var/cache/eaccelerator" eaccelerator.enable = "1" eaccelerator.optimizer = "1" eaccelerator.check_mtime = "1" eaccelerator.debug = "0" eaccelerator.filter = "" eaccelerator.shm_max = "0" eaccelerator.shm_ttl = "0" eaccelerator.shm_prune_period = "0" eaccelerator.shm_only = "0" eaccelerator.compress = "1" eaccelerator.compress_level = "9" eaccelerator.allowed_admin_path = "/var/www/eaccelerator"
Перезапускаєм наш сервер:
/etc/init.d/apache2 restart /etc/init.d/nginx restart /etc/init.d/memcached restart
Ось і наш севре готовий, надіюсь дана стаття допомогла вам.





Адмінів
Користувачів
Ботів
Гостей
Всього