Nginx虚拟主机的搭建的实现步骤

  

Nginx是一款高性能的Web服务器软件,可以用来搭建虚拟主机。以下是Nginx虚拟主机搭建的实现步骤:

第一步:安装Nginx

首先需要在服务器上安装Nginx。以Ubuntu系统为例,安装命令为:

sudo apt-get update
sudo apt-get install nginx

第二步:创建虚拟主机

方式一:在nginx.conf文件中添加虚拟主机配置

在Nginx的配置文件中添加虚拟主机配置。打开/etc/nginx/nginx.conf文件,将以下示例代码添加到http块中:

server {
    listen 80;
    server_name example.com;
    root /var/www/example;
    index index.html;
}

其中,listen指定端口号,server_name指定域名,root指定虚拟主机根目录,index指定默认访问页面。

方式二:创建单独的虚拟主机配置文件

在Nginx的配置目录/etc/nginx/sites-available/中创建一个新的文件,命名为example.com。

server {
    listen 80;
    server_name example.com;
    root /var/www/example;
    index index.html;
}

然后使用软链接将其连接到Nginx的配置目录/etc/nginx/sites-enabled/中,启用虚拟主机。

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

第三步:重启Nginx服务器

重启Nginx服务器,使其读取新配置。

sudo service nginx restart

至此,虚拟主机搭建完成。

示例说明

以下是两个示例说明

示例一:访问静态网页

假设我们要在虚拟主机example.com下搭建一个静态网页,其静态文件存放目录为/var/www/example。

  1. 确认Nginx服务已经启动,执行以下命令:
sudo service nginx start
  1. 在/var/www/目录下创建一个名为example的目录,并在其中放置静态文件
mkdir /var/www/example
echo "Hello, world!" > /var/www/example/index.html
  1. 修改Nginx的配置文件,添加虚拟主机的配置:
server {
    listen 80;
    server_name example.com;
    root /var/www/example;
    index index.html;
}
  1. 重启Nginx服务器,使其读取新配置。
sudo service nginx restart
  1. 在浏览器中访问example.com,即可看到“Hello, world!”的文字出现。

示例二:访问动态网页

假设我们要在虚拟主机example.com下搭建一个动态网页,其使用Node.js实现,监听端口号为3000。

  1. 确认Node.js已经安装,执行以下命令:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
  1. 在/var/www/目录下创建一个名为example的目录,并在其中放置动态页面文件(app.js)
mkdir /var/www/example
echo "const http = require('http');
http.createServer((req, res) => {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello, world!');
}).listen(3000);" > /var/www/example/app.js
  1. 使用pm2作为Node.js应用程序的进程管理工具,并启动app.js:
sudo npm install pm2 -g
cd /var/www/example
sudo pm2 start app.js
  1. 修改Nginx的配置文件,添加虚拟主机的配置:
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
   }
}
  1. 重启Nginx服务器,使其读取新配置。
sudo service nginx restart
  1. 在浏览器中访问example.com,即可看到“Hello, world!”的文字出现。
相关文章