xCache

Установка: apt-get install php5-xcache
Редактируем: /etc/php5/conf.d/xcache.ini
Выставим размер opcode кеша xcache.size = 64M
Выставим размер кеша данных/переменных xcache.var_size = 32M
Указываем количество процессоров (или ядер) на вашем компьютере xcache.count = 2

Далее usr/share/xcache - переносим в web-dir две папки admin и coverage и заходим в админку где видим стату и можем удалять кеш.

П.С если у вас стоит Zend Optimizer может появится ошибка:

PHP Fatal error: [Zend Optimizer] Extension "Zend Optimizer" cannot be loaded twice in Unknown on line 0

То заходим /etc/php5/conf.d/xcache.ini и комментируем: ;zend_extension = /usr/lib/php5/20060613+lfs/xcache.so
А в /etc/php5/apache2/php.ini пишем ДО [Zend]:

[xCache]
zend_extension = /usr/lib/php5/20060613+lfs/xcache.so

[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.3
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

No-IP мини гайд

Заходим на сайт no-ip.com, переходим в раздел Downloads и в зависимости от вашей ОС качаем программу и устанавливаем ее.
Теперь нам нужно зарегистрироваться в системе.
Теперь запускаем программу и вводим e-mail и пароль, который вы указывали при регистрации.
Заходим на сайт, логинимся.Выбираем вкладку Hosts/Redirets.Нажимаем Add a Host -> Hostname я вел poiuty и чуть правее выбрал no-ip.org.Теперь нажимаем Create Host
Теперь в программе выбираем Select Hosts и выбираем только, что вами созданный.Он там будет один, если вы конечно не создали еще.Все ;)


Скрины вам в помощь.


[singlepic id=55 w=320 h=240 float=center]
Если вы сделали все правильно вы увидите это:
noip2

П.С. пример работы: мой http сервер

apache+nginx, php, zend, eaccelerator, mod_rpaf на windows

На ноуте нужно было поднять web сервер.Операционная система: windows XP.
Теория: apache будет на 127.0.0.1:8080, nginx будет на внешнем ip и на 127.0.0.1:80 он используется как прокси сервер.Php сначала хотел сделать как fcgi, так же были мысли отказаться от apache, но все же решил остановится на apache+nginx из-за mod_rewrite.В чистом nginx тоже можно прописывать правила в файле nginx.conf, но как-то не очень хочется на это отвлекаться.

Заливаю необходимое ПО на ФО:
1.mySQL 5.0.67
2.php 5.2.9 Win32
3.http-2.2.16
4.nginx-7.67/Windows
5.eaccelerator.dll для php 5.2.9 Windows
6.mod_rpaf

Установка и настройка mySQL

Устанавливаем как любую другую программу.В конце установки вам будет предложено сконфигурировать my.ini и другие настройки mysql.
[singlepic id=45 w=320 h=240 float=center]
Выбираем детализированную настройку - "Detailed Configuration".
[singlepic id=47 w=320 h=240 float=center]
Теперь выбираем тип нашего сервера.Если mysql нужен вам для разработки - выбирайте "Developer Machine".Если в качестве сервера то "Server Machine" или "Dedicate mySQL Server Machine".
[singlepic id=48 w=320 h=240 float=center]
Выбрав пункт "Multifunctional Database", вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).
[singlepic id=49 w=320 h=240 float=center]
Выбор диска и директории для хранения таблиц типа InnoDB.
[singlepic id=50 w=320 h=240 float=center]
Выбираем максимально возможное количество соединений.Я предлагаю выбирать "Online Transaction Processing".
[singlepic id=51 w=320 h=240 float=center]
Отметив "Enable TCP/IP Networking" мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив "Enable Strict Mode", мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).
[singlepic id=52 w=320 h=240 float=center]
Выставим кодировку.
[singlepic id=53 w=320 h=240 float=center]
Далее отмечаем автозапуск сервера, и способ запуска как служба.Если вы будете использовать mysql из командной строки - отмечаем PATH.
[singlepic id=54 w=320 h=240 float=center]
Создаем пользователя.
[singlepic id=46 w=320 h=240 float=center]
Далее происходит процесс сохранения настроек.

Теперь открываем my.ini:
Ищем раздел [mysql]
В этот раздел добавляем строки:
default-character-set=cp1251
skip-character-set-client-handshake

Далее, в разделе [mysqld] находим строку:
default-character-set=cp1251
И заменяем её на:
default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

Теперь находим строку default-storage-engine=INNODB
И заменяем её на default-storage-engine=MYISAM


Настройка Apache


Первым делом нам надо создать каталог, в котором будут храниться наши домены(виртуал хосты).
Допустим это будет у нас каталог Resources.
Итак, создаём его например тут: X:\Resources
Теперь идём в корневой каталог Apache, там заходим в папку conf
Там лежит кучка файлов конфигурации.
Нам необходим httpd.conf

Ищем сторку: LoadModule rewrite_module modules/mod_rewrite.so
И убираем с неё комментарий (стереть # в начале строки).

Теперь в конце блока загрузки модулей прописываем строку:
LoadModule php5_module "X:/Server/php/php5apache2_2.dll"

Далее, после блока загрузки модулей необходимо прописать путь до файла конфигурации PHP.
Строка будет выглядеть примерно так:
PHPIniDir "Х:/Server/php/php.ini"

Теперь нам необходимо задать корневую директорию управления сайтом.
Это будет наша папка Resources

Находим строчку DocumentRoot
И меняем её содержимое на:
DocumentRoot "Х:/Resources"

Далее находим блок:

Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all

И заменяем его на:

Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all

Далее находите и удаляете первоначальный блок управления директориями.
Выглядит он примерно так:
[spoiler]
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

[/spoiler]

Далее находим блок:

DirectoryIndex index.html

И заменяем его на:

DirectoryIndex index.html index.htm index.shtml index.php

Теперь находим строчку ErrorLog logs/error.log
И для большего удобства меняем её на ErrorLog X:/Resources/error.log

Тоже самое относительно строки CustomLog logs/access.log common
Меняем её на CustomLog X:/resources/access.log common

Теперь ищем строки:
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml

После них добавляем:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Ну и на последок находим и разкоментируем следующие строки:
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf

Пример файла http-vhosts.conf:
NameVirtualHost *:80

DocumentRoot C:/server/www/localhost
ServerName localhost
# ErrorLog C:/Resources/test/www-error.log
# CustomLog C:/Resources/test/www-access.log common


Настройка PHP


Открываем php.ini в любом текстовом редакторе.Правим:
short_open_tag = On
display_errors = On
register_globals = Off
register_long_arrays = On

Теперь ищем строку: ;include_path = ".;c:\php\includes"
И снимаем с неё комментарий (убираем точку с запятой в начале строки): include_path = ".;c:\php\includes"
Строка должна выглядеть примерно так: include_path = ".;X:\Server\php\includes"

Теперь в файле конфигов находим строку extension_dir = "./"
Её значение меняем на путь к папке с расширениями. Например так: extension_dir = "X:/Server/php/ext/"

Далее, находим строку: ;upload_tmp_dir =
И точно так же, как и с Инклюдами - снимаем комментарий и меняем на путь доступный нам:
upload_tmp_dir = X:/Server/php/temp
В корне с php создаём пустой коталог temp

Почти всё. Теперь нам осталось подключить недостающие библиотеки.
extension=php_curl.dll //Важный пункт. 100% обязателен.
extension=php_gd2.dll //Библиотека для работы с графикой (обязательная)
extension=php_mbstring.dll //Библиотека содержит функции для работы с много-байтными кодировками
extension=php_mcrypt.dll //Библиотека для работы с алгоритмами шифрования.
extension=php_mysql.dll //Знакомое название, не правда ли?
extension=php_mysqli.dll //Дополнение к предыдущей, нужна для работы с базами версии 4.1.3 и выше.

Ну и завершающий этап - работа с сессиями.
Находим строку: ;session.save_path = "/tmp"
Снимаем коментарий и редактируем:
session.save_path = "Х:\server\php\sess"
Ну и как уже у нас повелось, в корне пхп создаём каталог sess

Теперь маленькая подштриховка.
Нам необходимо прописать каталог с пхп в PATH нашей ОС.
Для этого проделываем следующее:
Start(Пуск) --> Control Panel(Панель управления) --> System(Система)
Откройте вкладку Advanced(Дополнительно),
Нажмите кнопку Environment Variables(Переменные среды)
В разделе System Variables(Системные переменные) двойным кликом откройте строку PATH
И в поле Variable Value(Значение переменной) добавьте путь к вешей папке с php.
Строка с уже добавленным пхп будет выглядеть примерно так:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;X:\Server\php
Всё. Перезагружаем машину, чтобы изменения вступили в силу. Пхп у вас теперь настроен.


Установка Zend


Запускаем.Прописываем путь до php.ini.Прописываем путь до apache сервера.Далее устанавливаем.После этого перезапустите apache.

Установка eAccelerator


Закидываем биболиотку eaccelerator.dll в ./php/ext/
В файле php.ini прописываем:
extension="eaccelerator.dll"
[eAccelerator]
eaccelerator.shm_size="64"
eaccelerator.cache_dir="c:\server\php\tmp\eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="1800"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
# Раскомментировать при необходимости сохранения кэша только в памяти
#eaccelerator.keys = "shm"
#eaccelerator.sessions = "shm"
#eaccelerator.content = "shm"


Установка mod_rpaf


Закидываем mod_rpaf.so в ./apache/modules Далее прописываем в httpd.conf:
LoadModule rpaf_module modules/mod_rpaf.so
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP


Установка nginx.Последний приготовления.


Распаковываем дистрибутив на диск C:, переходим в каталог nginx и запускаем nginx:
cd c:\
unzip nginx
cd nginx
start nginx

Если nginx не запустился, нужно смотреть причины в error_log. Если же error_log не создался, то об этом сообщается в Event Log.
Команды:
nginx -s stop быстрое завершение
nginx -s quit плавное завершение
nginx -s reload изменение конфигурации, запуск новых рабочих процессов с новой конфигурацией, плавное завершение старых рабочих процессов
nginx -s reopen переоткрытие лог-файлов

Правим nginx.conf:
Найти server {...} полностью заменить:
server {
listen 80;
server_name _;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
}

Правим httpd.conf:
Найти Listen - написать 127.0.0.1:8080
Теперь запускаем apache, nginx - первый работает на 127.0.0.1:8080, второй работает на внешнем ip/локальном ip на 80 порту.

П.С. при написании статьи использовался гайд Эмпти.