Главная
 
npofopr.ucoz.ruЧетверг, 2025-07-10, 14:45:09



Приветствую Вас Гость | RSS
Главная
Меню сайта

Форма входа

Категории раздела
postfix [3]
console [2]
ssh [1]
jabber [1]
DHCP [2]
apache [4]
vhcs [1]
pptp [2]
server [7]
ftp [1]
trafic [1]
ip [1]
LDAP [1]
squid [1]
squid

Главная » Статьи » linux » server

Установка для «чайников»: nginx + php-cgi + mysql + eaccelerator + memcache на Debian 5.0 «lenny»
Перво-наперво обновляем список пакетов:
apt-get update

Ставим необходимое для ручной установки и некоторых других хитрым манипуляций:
apt-get install build-essential

NGINX


Ставим библиотеки, необходимые для установки nginx в той конфигурации, которую мы будем ставить (pcre обязательная всегда, ssl — опционально, если конфигурируем nginx с ней):
apt-get install libpcre3-dev
apt-get install openssl
apt-get install libcurl4-openssl-dev

В пакетах Дебиана, к сожалению, в стабильном варианте валяется очень старая версия nginx, поэтому будем ставить сервер вручную. Заходим в темп:
cd /tmp

Качаем последнюю стабильную версию nginx, распаковываем и заходим в папку установки:
wget httр://sysoev.ru/nginx/nginx-0.7.61.tar.gz
tar -zxvf nginx-0.7.61.tar.gz
cd nginx-0.7.61

Конфигурим и устанавливаем:
./configure \
--user=www-data \
--group=www-data \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-mail \
--with-mail_ssl_module
make
make install

Запускаем:
/usr/local/nginx/sbin/nginx

Заходим в браузер, набираем наш ip/домен и видим:

Welcome to nginx!

Значит, всё хорошо. Теперь нам нужно добавить nginx в автозагрузку. Для этого создаем файл '/etc/init.d/nginx' следующего содержания:
#! /bin/sh

### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/nginx/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi

set -e

case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0

Делаем исполняемым и добавляем nginx в автозагрузку:
chmod 755 /etc/init.d/nginx
update-rc.d nginx defaults

Теперь мы можем управлять нашим http-сервером с помощью следующих команд:
/etc/init.d/nginx start
/etc/init.d/nginx restart
/etc/init.d/nginx stop

PHP-FASTCGI


PHP я предлагаю ставить из коллекции пакетов. Сейчас там лежит стабильная версия 5.2.6 — да, не последняя из 5.2, но зато не глючит. Я пробовал ставить 5.2.10 из тестовых пакетов, в связке с nginx работало не стабильно. :( Устанавливаем PHP с некоторыми обязательными расширениями (необходимые именно вам расширения вы можете добавить сразу или позже):
apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-json php5-mcrypt php5-memcache

Далее заходим в '/etc/php5/cgi/php.ini', где добавляем строку в конец файла:
cgi.fix_pathinfo = 1

Добавим php в автозагрузку. Для чего оздаем скрипт '/etc/init.d/php-fastcgi' следующего содержания:
#! /bin/sh
### BEGIN INIT INFO
# Provides: php-fastcgi
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop php-cgi in external FASTCGI mode
# Description: Start and stop php-cgi in external FASTCGI mode
### END INIT INFO

# Author: Kurt Zankl <kz@xon.uni.cc>

# Do NOT "set -e"

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="php-cgi in external FASTCGI mode"
NAME=php-fastcgi
DAEMON=/usr/bin/php-cgi
PIDFILE=/var/run/$NAME.pid
scriptNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# If the daemon is not enabled, give the user a warning and then exit,
# unless we are stopping the daemon
if [ "$START" != "yes" -a "$1" != "stop" ]; then
log_warning_msg "To enable $NAME, edit /etc/default/$NAME and set START=yes"
exit 0
fi

# Process configuration
export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS
DAEMON_ARGS="-q -b $FCGI_HOST:$FCGI_PORT"

do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null || return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background --make-pidfile --chuid $EXEC_AS_USER --startas $DAEMON -- $DAEMON_ARGS || return 2
}

do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE > /dev/null # --name $DAEMON
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}

case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $scriptNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac

Делаем исполяемым:
chmod 755 /etc/init.d/php-fastcgi

Создаем другой файл '/etc/default/php-fastcgi', чтобы мы могли контролировать php-fastcgi (слушать порты, получать количество дочерних процессов и другие запросы), такого содержания:
#
# Settings for php-cgi in external FASTCGI Mode
#

# Should php-fastcgi run automatically on startup? (default: no)
START=yes

# Which user runs PHP? (default: www-data)
EXEC_AS_USER=www-data

# Host and TCP port for FASTCGI-Listener (default: localhost:9000)
FCGI_HOST=localhost
FCGI_PORT=9000

# Environment variables, which are processed by PHP
PHP_FCGI_CHILDREN=5
PHP_FCGI_MAX_REQUESTS=1000

Запускаем php-fastcgi:
/etc/init.d/php-fastcgi start

Добавляем в автозагрузку:
update-rc.d php-fastcgi defaults

Дружим NGINX и PHP


Создадим папку для сайтов, например, '/home/www'.

Редактируем '/usr/local/nginx/conf/nginx.conf'. Указываем под кем будем запускать nginx:
user www-data www-data;

В контейнере server {} изменим/раскоментируем следующие строки:
location / {
root /home/www;
index index.php index.html index.htm;
}

location ~ \.php$ {
root /home/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME /home/www$fastcgi_script_name;
include fastcgi_params;
}

Перезапускаем nginx:
/etc/init.d/nginx restart

Создаем файл для теста '/home/www/info.php' следующего содержания:
<?php
phpinfo();
?>

Проверяем в браузере — httр://ваш-адрес/info.php

MYSQL


Ставим:
apt-get install mysql-server mysql-client

В процессе будет предложено установить пароль рута, который можно всегда поменять так:
mysqladmin -u root password tralala

EACCELERATOR


Печально, но eAccelerator вообще отсутствует в установочных пакетах Debian. Будем ставить руками. Предварительно нам потребуется установить библиотеку php-developer:
apt-get install php5-dev

Теперь скачиваем и устанавливаем eAccelerator:
cd /tmp
wget httр://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar xvfj eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3
phpize
./configure
make
make install

Создаем конфигурационный файл '/etc/php5/conf.d/eaccelerator.ini' следующего содержания:
extension="eaccelerator.so"
eaccelerator.shm_size="64"
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="3600"
eaccelerator.shm_prune_period="1800"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Создаем папку для хранения файлов eAccelerator'а:
mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator

Перезапускаем php:
/etc/init.d/php-fastcgi restart

MEMCACHE


Устанавливаем:
apt-get install memcached

Перезапускаем php ещё разок:
/etc/init.d/php-fastcgi restart


Удачной работы! :)

btw, кому интересно, здесь вы можете посмотреть тесты работы этого комплекса на vds: 480 MHz / 256 Mb и 1280 MHz / 1024 Mb.

Источник: http://habrahabr.ru/blogs/server_side_optimization/67557/
Категория: server | Добавил: npofopr (2009-08-28)
Просмотров: 4896 | Комментарии: 10 | Рейтинг: 1.0/1 |
Всего комментариев: 8
8 suresype  
0
girls who like to suck cocks
oral sex on a man instructions
babes suck meat stick
latina pussy blowjob free creampie
anal girl kids suck
blowjob sunglasses
college girl blowjob fuck party
lindsay lohan suck dick
dirty whore suck dick
busty teens suck monster cock

7 Xuzrpakel  
0
виноват за надоедливость. незапамятных) времён разыскивал вменяемое отображение вкладов, их динамики. Для тех который не соображает, это не так нехитро. На шири webа будь здоров чего есть. Но вменяемой сведения о вкладах не так ворох.
далее ссылка на статью. способен кому-то из вас сослужить службу.

Если не туда разместил пост переместите пожалуйста. Благодарю.
http://exchangeandwe.ru/ - Всего у нас вам разыщете банковские вклады которые посодействуют вас и вашим купюрами

6 Kukrqaief  
0
виновата за навязчивость. века искал вменяемое изображение вкладов, их динамики. Для этих кто именно не постигает, это не так несложно. На просторах веба будь здоров чего есть. Но вменяемой данных о вкладах не так выше (головы.
далее ссылка на заметку. возможно кому-то из вас сгодится.

Если не туда водворил пост переместите пожалуйста. Благодарю.
http://rusbanksite.ru/%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5-%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D 1%8B/ - Всего у нас вы заметите банковские вклады коим выручат вам и вашим купюрами

5 rlotoman  
0
Уникальное лото 6 из 36
Наши игроки управляют своим шансом на выигрыш!
В нашей лотерее управление счастливым шансом в руках каждого участника.
Самое главное, что выигрышную комбинацию определяют сами игроки!
Достаточно только выбрать 6 чисел из 36 и назвать одно из них счастливым, как оно действительно осчастливит владельца лотерейного билета.
http://6-36.ru

4 sibnwrrru  
0
Первые упоминания о Сибири, в России были в XII веке. В летописных записях упоминается о походах новгородских купцов на восток за добычей пушнины. Но есть и более ранние записи в китайских летописях. Из них мы узнаем о том, что еще во втором тысячелетии до нашей эры Сибирь была заселена племенами, которые постоянно конфликтовали между собой. Этому есть подтверждения и у археологов. Так в Тобольском районе были найдены каменные орудия, которые относятся именно к этой эпохе. В Западной Сибири найдены остатки неополитической эпохи . В Тобольске и Тюмени обнаружены топоры и молоты, а в Барнауле наконечники копий. В Ингальской долине на юге от Тюменьской области в могильнике Бузан-3 была найдена погребальная ладья пяти метровой длины. Возраст этой находки примерно 3190 лет до нашей эры. Все это подтверждает гипотезы о древнем заселении Сибири. Эти данные являются доказательством, что Сибирь была заселена раньше, чем постройка пирамиды Хеопса возраст которой 2560 – 2540 лет до нашей эры.
www.сибирь1.рф/viewtopic.php?f=129&t=22&p=53&sid=ccf037b63bcf6b759c42ad55810004be#p53

3 Morpestararop  
0
ОДНОКЛАССНИКИ ЗНАКОМСТВА

2 Natashakig  
0
Где скачать X-Rumer 7.0.10 ELITE?
Пришлите мне , пожалуйста URL!
Это лучшая программа для массового размещения на форумах ! XRumer может сломать большинство видов каптч !

1 Natashakig  
0
Я хочу скачать X-Rumer 7.0.10 ELITE?
Дайте мне адрес , пожалуйста!
Это лучшая программа для массового размещения на форумах ! XRumer может сломать большинство видов каптч !

Имя *:
Email *:
Код *:
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Поиск


Copyright MyCorp © 2025
Сделать бесплатный сайт с uCoz