在Nginx上配置多个站点的方法

Nginx上配置多个站点需要完成以下步骤:

1.创建站点目录

在服务器上创建每个站点的目录,例如,假设我们要创建两个站点,一个是example1.com,另一个是example2.com。我们可以在服务器上的/var/www目录下创建两个目录,分别命名为example1.com和example2.com:

sudo mkdir /var/www/example1.com
sudo mkdir /var/www/example2.com
  1. 编辑nginx.conf文件

在Ubuntu系统中,Nginx的配置文件位于/etc/nginx/nginx.conf。在此文件中,可以找到http块。http块定义了全局配置。在http块中,添加以下内容:

server {
    listen 80;
    server_name example1.com;
    root /var/www/example1.com;
    index index.html;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

server {
    listen 80;
    server_name example2.com;
    root /var/www/example2.com;
    index index.html;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

上述代码共定义了两个server块。每个server块定义了一个网站配置。

其中,listen指令用于监听指定的端口,可以是任意一个未被占用的端口。server_name指令是该站点所对应的域名。root指令是该站点的文件根目录,也就是之前创建的站点目录。index指令是站点默认页面的文件名。在上面的示例中,我们指定了index.html作为站点默认页面。

location块用于处理特定的URI请求。这里的代码表示,如果某个URL请求无法找到,则尝试按以下方式处理请求:

(1)尝试直接读取$uri文件是否存在;

(2)如果没有找到,尝试读取$uri/目录是否存在且包含一个index.html文件;

(3)如果以上两种情况都不是,则返回站点默认页面。

  1. 重启Nginx服务

在完成以上步骤后,需要重新启动Nginx服务。可执行如下命令:

sudo service nginx restart

现在,我们可以通过浏览器访问example1.com和example2.com,来查看配置是否生效。

  1. 其他配置

如果要为每个站点添加SSL证书,可以使用Let's Encrypt工具来生成免费的SSL证书,以增加站点的安全性。具体方法可以参考Let's Encrypt官方文档。

示例:

假设当前我们服务器的IP地址为192.168.0.1,我们需要创建两个站点分别是www.example1.com和www.example2.com,那么我们需要做的就是按照上述步骤,在Nginx的配置文件nginx.conf中新增如下内容:

server {
    listen 80;
    server_name www.example1.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name www.example1.com;

    ssl_certificate /etc/ssl/certs/www.example1.com.crt;
    ssl_certificate_key /etc/ssl/private/www.example1.com.key;

    root /var/www/example1.com;
    index index.html;

    access_log /var/log/nginx/example1.com.access.log;
    error_log /var/log/nginx/example1.com.error.log;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

server {
    listen 80;
    server_name www.example2.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name www.example2.com;

    ssl_certificate /etc/ssl/certs/www.example2.com.crt;
    ssl_certificate_key /etc/ssl/private/www.example2.com.key;

    root /var/www/example2.com;
    index index.html;

    access_log /var/log/nginx/example2.com.access.log;
    error_log /var/log/nginx/example2.com.error.log;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

注意,我们还配置了日志记录、SSL证书路径等内容,如果域名与示例不同,需要根据实际情况修改配置文件中的server_name、SSL证书路径、站点根目录等内容。

使用如下命令重启Nginx服务:

sudo service nginx restart

这样,我们即可通过浏览器访问https://www.example1.com和https://www.example2.com访问我们新建的两个站点。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Nginx上配置多个站点的方法 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Nginx之Http模块系列之autoindex模块的具体使用

    Nginx之Http模块系列之autoindex模块的具体使用 Nginx的autoindex模块可以使得Nginx返回具有目录结构的HTML文件列表,以方便用户从浏览器中查找和直接浏览文件。这个模块可以在Nginx编译时被编译进来,也可以在Nginx配置文件中使用指令来控制。在本文中,我们将介绍autoindex模块的具体使用方法。 启用autoindex…

    Nginx 2023年5月16日
    00
  • 学习nginx基础知识

    学习Nginx基础知识攻略包括以下几个步骤: 1. 了解Nginx和它的用途 Nginx是一个高性能的Web服务器、反向代理服务器和负载均衡器。它采用事件驱动的异步架构以及底层的epoll或kqueue等操作系统特性,利用少量线程处理大规模并发连接。Nginx可以用于静态资源服务、反向代理、负载均衡、FastCGI服务、WebSocket服务和安全性较强的H…

    Nginx 2023年5月16日
    00
  • Nginx实现前端访问后端本地接口

    Nginx配置两个地方就行: 先是配置好自己项目的服务,确保自己的项目能运行: location / { root /web/xiangmu/public; // 本地项目的路径 index index.html index.php; } 再是配置接口请求后端: location /api/ { proxy_pass http://192.168.1.1;(…

    Nginx 2023年4月13日
    00
  • Nginx中部署Angular项目遇到的坑巨坑

    好的!下面是Nginx中部署Angular项目的完整攻略,包含两条示例说明: 准备工作 安装Node.js和Angular CLI工具 确保你的电脑中已经安装了Node.js环境和Angular CLI。如果没有安装,可以参考以下链接进行安装: Node.js下载链接:https://nodejs.org/en/download/ Angular CLI安装…

    Nginx 2023年5月16日
    00
  • Nginx处理请求时的匹配规则详析

    那我就来详细讲解 “Nginx处理请求时的匹配规则详析” 的攻略。 Nginx处理请求时的匹配规则详析 在了解Nginx的匹配规则之前,我们需要先了解一下Nginx中常见的三种location区块: 1. 精确匹配 location = /path { #对/path精确匹配,只有访问该路径,才会触发该location区块 } 这种匹配规则最为严格,只有完全…

    Nginx 2023年5月16日
    00
  • python服务器环境搭建Flask,uwsgi和nginx

    环境配置 服务器配置  【部署系统环境Ubuntu】 使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了。为了部署python服务器,我选择使用uwsgi和nginx。 使用Nginx和uWSGI来运行Python应用 Nginx Nginx是高效的Web服务器和反向代理服务器,同时并发高,部署简单,内存消耗小,最重要的是,支…

    Nginx 2023年4月9日
    00
  • nginx配置与常见错误解决方法

    1、下载:到官网下载nginx稳定版,解压到e盘根目录;到官网下载php非安装版,解压到e盘根目录。2、配置:打开nginx.conf,修改相关位置如下,location / {            root   html; #网站根目录            index  index.html index.htm index.php;          …

    Nginx 2023年4月12日
    00
  • linux下Nginx安装Zend Optimizer组件步骤

    注意:Zend Optimizer 在php5.3以上的版本已经集成了,所以php5.3以上的版本没必要安装了。而推出了Zend Guard Loader。 http://www.zend.com/en/products/guard/zend-optimizer-zend-loader   1.我用的PHP版本是5.4.23  64位 64位压缩包:wget…

    Nginx 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部