В это статье я расскажу как быстро развернуть LAMP сервер на Ubuntu с кеширующим nginx Для всех команд необходим sudo, потому сразу войдем для удобства в этот режим:
Далее, обновляем данные из репозитариев:
Установка MySQL сервер:
|
apt-get install mysql-server mysql-client |
Во время установки нас попросят ввести пароль root для сервера MySQL, вводим 2 раза. Дожидаемся окончания установки. Установка Apache, nginx, php:
|
apt-get install apache2 nginx apache2-mpm-prefork apache2-utils libapache2-mod-php5 php5 php5-dev php5-mysql php5-common php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl |
Дожидаемся окончания установки. Включаем модули rewrite и include в apache2 при помощи утилиты — a2enmod:
|
a2enmod rewrite a2enmod include |
Меняем порт в apache2 со стандартного 80 на 8080 (2 строчки):
|
nano /etc/apache2/ports.conf NameVirtualHost *:8080 Listen 8080 |
Создаем новый веб сервер (VirtualHost), создаем файл конфигурации:
|
touch /etc/apache2/sites-available/domain.com |
И вставляем в него следующий текст:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<VirtualHost *:8080> ServerName domain.com ServerAlias www.domain.com ServerAdmin admin@domain.com DocumentRoot /var/www/domain.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/domain.com/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/domain.com_error.log LogLevel warn CustomLog /var/log/domain.com_access.log combined </VirtualHost> |
Далее, создаем папку сайта и запускаем сайт:
|
mkdir -p /var/www/domain.com a2ensite domain.com |
Проверяем в браузере — http://domain.com:8080 Конфигурируем nginx:
|
nano /etc/nginx/nginx.conf |
Приводим конфиг к такому виду:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
user www-data; worker_processes 4; #По количеству ядер pid /var/run/nginx.pid; error_log /sites/nginx/error.log; events { worker_connections 4096; multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; server_tokens off; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx-access.log; error_log /var/log/nginx-error.log; gzip on; gzip_disable «msie6″; gzip_proxied any; gzip_min_length 500; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } |
Далее создаем и правим конфиг нашего сайта:
|
nano /etc/nginx/sites-enabled/domain.com |
Вносим в него следующие записи:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
upstream backend { server 127.0.0.1:8080; } server { listen 80; server_name domain.com www.domain.com; access_log /var/log/nginx-access.log; error_log /var/log/nginx-error.log; location / { proxy_pass http://backend; include /etc/nginx/proxy.conf; } location ~* .(jpg|jpeg|gif|png|ico|css|bmp|swf|js|mov|avi|mp4|mpeg4) { root /var/www/domain.com; } location ~ /.ht { deny all; } } |
Перезапускаем сервисы и проверяем работу:
|
service apache2 restart service nginx restart |
Источник: http://evolan.org/linux/ubuntu-ustanovka-i-nastrojka-svyazki-nginx-apache-php-mysql/ Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)
Read more