如何配置Nginx的虚拟主机?

下面是如何配置Nginx的虚拟主机的详细步骤:

1. 安装Nginx

首先,需要在服务器上安装Nginx。可以通过以下命令安装:

sudo apt update
sudo apt install nginx

2. 创建网站目录

在设置虚拟主机之前,需要为网站创建一个目录并添加一些文件。例如,可以在 /var/www/ 目录下创建一个名为 example.com 的目录:

sudo mkdir /var/www/example.com

接下来,可以在 example.com 目录中创建一个简单的 index.html 文件:

sudo nano /var/www/example.com/index.html

添加以下内容:

<html>
  <head>
    <title>Example Website</title>
  </head>
  <body>
    <h1>Welcome to example.com!</h1>
  </body>
</html>

3. 创建Nginx虚拟主机文件

每个虚拟主机都需要在Nginx的配置文件中定义。可以通过创建一个名为 example.com 的文件来创建新的虚拟主机配置文件:

sudo nano /etc/nginx/sites-available/example.com

将以下内容添加到文件中:

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

    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

这个配置文件定义了一个监听80端口的虚拟主机,使用名称为 example.comwww.example.com 的域名。其根目录是 /var/www/example.com,如果URL没有指定要加载的文件,则默认加载 index.html 这个文件。

4. 启用虚拟主机

现在需要将新创建的虚拟主机配置文件链接到Nginx的 sites-enabled 目录中,以便Nginx可以使用它。

可以使用以下 ln 命令来创建这个符号链接:

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

5. 检查配置并重新加载Nginx

可以使用以下命令检查虚拟主机配置是否正确:

sudo nginx -t

如果没有出现错误消息,则可以重新加载Nginx以使更改生效:

sudo systemctl reload nginx

示例说明1:配置多个虚拟主机

可以在一个Nginx服务器中设置多个虚拟主机,为不同的网站提供服务。唯一需要更改的是虚拟主机的配置文件。

例如,可以创建一个新的虚拟主机配置文件,为名为 example2.com 的另一个网站提供服务:

sudo nano /etc/nginx/sites-available/example2.com

将以下内容添加到文件中:

server {
    listen 80;
    server_name example2.com www.example2.com;
    root /var/www/example2.com;

    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

请注意,该配置文件与前面的示例文件非常相似,唯一的区别是 server_nameroot。其中, server_name 定义了要使用的域名,而 root 定义了要使用的文件夹。

示例说明2:使用SSL加密配置虚拟主机

可以使用SSL证书保护虚拟主机,使其向用户提供加密的连接。

可以使用LetsEncrypt生成并安装SSL证书。安装后,可以将以下内容添加到虚拟主机配置文件中来启用SSL:

server {
    listen 80;
    listen [::]:80;
    server_name example.com;

    return 301 https://$host$request_uri;
}

server {
    listen  443 ssl http2;
    listen  [::]:443 ssl http2;
    server_name  example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    root /var/www/example.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

这个配置文件中,第一个 server 块将所有的HTTP请求都重定向到相应的HTTPS URL。第二个 server 块使用证书文件启用HTTPS,并定义了网站的其他设置。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何配置Nginx的虚拟主机? - Python技术站

(0)
上一篇 2023年4月19日
下一篇 2023年4月19日

相关文章

  • 利用Dockerfile实现nginx的部署

    vim Dockerfile内容如下:FROM centos:centos7.8.2003  ##选择centos7.8版本作为基础镜像LABEL maintainer=”zhangtiaze <1185673631@qq.com>” version=”v1.0″  ##作者信息 RUN rm -f /etc/localtime &&am…

    Nginx 2023年4月11日
    00
  • Web_php_wrong_nginx_config writeup

    Web_php_wrong_nginx_config writeup Zhu013   未经允许请勿转载 1.进入页面发现需要登陆 2.robots.txt 发现hint.php Hack.php     hint.php提示     配置文件也许有问题呀:/etc/nginx/sites-enabled/site.conf     访问Hack.php提示…

    Nginx 2023年4月13日
    00
  • 记rainbow + nginx 服务器部署, 微信后台搭建

      最近做微信相关开发, 需要部署一个服务器给微信应用做后台。   项目后端用 ruby on rails, 前端用 angularjs。服务器部署选择 nginx反向代理, rainbows起服务。(本来想用passenger的师兄不让。。。)     rainbows的配置文件放在rails的config目录下面, 修改GEM添加相应包就OK了。   r…

    Nginx 2023年4月16日
    00
  • ingress-nginx 错误记录

    1.大量错误: W1220 08:54:37.201474 7 queue.go:130] requeuing &ObjectMeta{Name:sync status,GenerateName:,Namespace:,SelfLink:,UID:,ResourceVersion:,Generation:0,CreationTimestamp:000…

    Nginx 2023年4月10日
    00
  • nginx日志统计相关命令和python脚本

    src=(s1,s2,s3,s3) for i in ${src[@]     nginx访问量统计 1.根据访问IP统计UVawk ‘{print $1}’  access.log|sort | uniq -c |wc -l 嘉图的统计 awk ‘{print $1}’ /var/log/nginx/access.log|sort | uniq -c |w…

    Nginx 2023年4月12日
    00
  • nginx centos 服务开机启动设置实例详解

    以下是“nginx centos 服务开机启动设置实例详解”的完整攻略,包含两条示例说明。 背景 在 CentOS 系统上部署网站时,经常会使用 Nginx 作为 Web 服务,也需要将 Nginx 设置为开机自启动,以确保网站服务可以在服务器重启后自动启动。本篇攻略将详细介绍 nginx centos 服务开机启动设置实例的过程。 步骤 第一条实例 步骤1…

    Nginx 2023年5月16日
    00
  • Nginx源码安装的方法步骤

    下面是“Nginx源码安装的方法步骤”的完整攻略: 准备工作 在开始安装之前需要先进行一些准备工作: 确认系统是否已经安装了必要的编译工具,例如gcc、make、autoconf等, 如果缺失可以使用包管理器进行安装,例如使用yum进行安装gcc:yum install gcc。 下载Nginx官网提供的源码包,在官网下载地址https://nginx.or…

    Nginx 2023年5月16日
    00
  • Nginx服务器之Nginx与tomcat结合访问jsp

    本文使用linux centos系统 本文概述:  JSP是一种动态网页技术标准。使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件。使用JSP开发WEB应用可以跨平台开发。但jsp需要javaEE服务器,在Nginx下是无法运行jsp文件的。本文将介绍通过Nginx与tomcat结合访问jsp文件资源。 配置步骤: 1、环境的安装   J…

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