Имеется сервер в связке apache+nginx и домен example.com.
Допустим, мы хотим сделать один сайт на поддомене blog.example.com, а второй сайт на example.com.
Для этого нужно настроить apache и nginx.
Пусть в каталоге /var/www/blog будет первый сайт, а в каталоге /var/www/main - второй.
Создадим каталоги:
# mkdir /var/www/blog
# mkdir /var/www/main
и кинем туда содержимое сайтов.
Настраиваем apache:
# vim /etc/apache2/sites-available/example
<VirtualHost *:8080>
ServerAdmin admin@mail
DocumentRoot /var/www/blog
ServerName blog.example.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/blog>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:8080>
ServerAdmin admin@mail
DocumentRoot /var/www/main
ServerName example.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/main>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Настраиваем nginx:
Допустим, мы хотим сделать один сайт на поддомене blog.example.com, а второй сайт на example.com.
Для этого нужно настроить apache и nginx.
Пусть в каталоге /var/www/blog будет первый сайт, а в каталоге /var/www/main - второй.
Создадим каталоги:
# mkdir /var/www/blog
# mkdir /var/www/main
и кинем туда содержимое сайтов.
Настраиваем apache:
# vim /etc/apache2/sites-available/example
<VirtualHost *:8080>
ServerAdmin admin@mail
DocumentRoot /var/www/blog
ServerName blog.example.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/blog>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:8080>
ServerAdmin admin@mail
DocumentRoot /var/www/main
ServerName example.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/main>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim /etc/apache2/ports.conf
NameVirtualHost *:8080
Listen *:8080
Настраиваем nginx:
# vim /etc/nginx/sites-available/example
server {
listen 80;
root /var/www/blog;
index index.php index.html index.htm;
server_name blog.example.com;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location ~ /\.ht {
deny all;
}
}
server {
listen 80;
root /var/www/main;
index index.php index.html index.htm;
server_name example.com;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location ~ /\.ht {
deny all;
}
}
# service apache2 restart
# service nginx restart
Таким образом, в каталоге blog у нас лежит блог, например, а в каталоге main - основной сайт.
# service nginx restart
Таким образом, в каталоге blog у нас лежит блог, например, а в каталоге main - основной сайт.
Комментариев нет:
Отправить комментарий