apt-get install nginx
/etc/init.d/nginx status
/usr/share/nginx/html #default server block.
/etc/init.d/nginx status
/usr/share/nginx/html #default server block.
Step One — Set Up New Document Root
Directories:
1. mkdir -p /var/www/example.com/html
mkdir -p /var/www/test.com/html
2. chown -R $USER:$USER /var/www/example.com/html
#use the $USER environmental variable to substitute the user account that we are currently signed in on.
chown -R $USER:$USER /var/www/test.com/html
3. chmod -R 755 /var/www
Step Two — Create Sample Pages for Each Site:
1. vim /var/www/example.com/html/index.html
<html>
1. mkdir -p /var/www/example.com/html
mkdir -p /var/www/test.com/html
2. chown -R $USER:$USER /var/www/example.com/html
#use the $USER environmental variable to substitute the user account that we are currently signed in on.
chown -R $USER:$USER /var/www/test.com/html
3. chmod -R 755 /var/www
Step Two — Create Sample Pages for Each Site:
1. vim /var/www/example.com/html/index.html
<html>
<head>
<title>Welcome to
Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is
working!</h1>
</body>
</html>
2. cp /var/www/example.com/html/index.html /var/www/test.com/html/
3. vim /var/www/test.com/html/index.html
<html>
2. cp /var/www/example.com/html/index.html /var/www/test.com/html/
3. vim /var/www/test.com/html/index.html
<html>
<head>
<title>Welcome to
Test.com!</title>
</head>
<body>
<h1>Success! The test.com server block is
working!</h1>
</body>
</html>
Step Three — Create Server Block Files for Each Domain
1. cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
2. vim /etc/nginx/sites-available/example.com
server {
Step Three — Create Server Block Files for Each Domain
1. cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
2. vim /etc/nginx/sites-available/example.com
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
access_log /var/log/nginx/www.example.com-access.log;
error_log /var/log/nginx/www.example.com-error.log;
access_log /var/log/nginx/www.example.com-access.log;
error_log /var/log/nginx/www.example.com-error.log;
root
/var/www/example.com/html;
index index.html index.htm;
server_name
example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
}
#Server blocks for subdomain
server {
listen 80;
listen [::]:80;
root /var/www/example.com/html;
index index.html index.htm index.php;
server_name sub2.example.com;
}
#Server blocks for subdomain
server {
listen 80;
listen [::]:80;
root /var/www/example.com/html;
index index.html index.htm index.php;
server_name sub2.example.com;
}
3. cp
/etc/nginx/sites-available/example.com /etc/nginx/sites-available/test.com
4. vim /etc/nginx/sites-available/test.com
server {
4. vim /etc/nginx/sites-available/test.com
server {
listen 80;
listen [::]:80;
access_log /var/log/nginx/www.test.com-access.log;
error_log /var/log/nginx/www.test.com-error.log;
root
/var/www/test.com/html;
index index.html index.htm;
server_name test.com
www.test.com;
location / {
try_files $uri $uri/ =404;
}
}
Step Four — Enable your Server Blocks and Restart Nginx
1. ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
2. ln -s /etc/nginx/sites-available/test.com /etc/nginx/sites-enabled/
3. rm /etc/nginx/sites-enabled/default
4. vim /etc/nginx/nginx.conf
server_names_hash_bucket_size 64; #remove the comment
5. service nginx restart
Step Four — Enable your Server Blocks and Restart Nginx
1. ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
2. ln -s /etc/nginx/sites-available/test.com /etc/nginx/sites-enabled/
3. rm /etc/nginx/sites-enabled/default
4. vim /etc/nginx/nginx.conf
server_names_hash_bucket_size 64; #remove the comment
5. service nginx restart
Step Five — Test your Results
1. http://example.com
2. http://test.com
1. http://example.com
2. http://test.com