TypechoJoeTheme

Roookie博客 | 记录 · 收纳 · 分享

统计
登录
用户名
密码

知识分子没文化

咸鱼不动一动,怎么知道会不会翻到另一个锅里呢

在一个Nginx服务器上实现多个网站的部署运行

2021-02-20
/
0 评论
/
203 阅读
/
正在检测是否收录...
02/20

目录:

环境说明:

Linux:ubuntu 20.04

Nginx:1.18

Mysql:8.0

PHP:7.3

服务器:阿里云学生机

前言:

先提两个问题:一个服务器上可以运行多个网站吗,如果能,那么最多能运行几个呢?

第一个问题正如标题所写,这篇博客的目的就是实现在一个服务器上来运行多个不同的网站,所以答案当然是能了;至于一个服务器上最多运行几个网站,理论上来说应该是无限多个的,但是,现实中往往得考虑服务器的配置等因素的影响,当服务器压要处理的事务太多的时候,也就忙不过来了。

能不能的问题解决了,接下来就是如何实现的问题。

有两种思路可以实现这个目的:

一是只需要一个域名(一级域名或者二级域名都可以),做一次域名解析即可,将域名解析到服务器IP地址,用不同的端口来实现不同网站的服务,即用同一个域名 + 端口号的方式来访问相应的网站。这种方法实现起来比较简单,修改网站配置文件里的端口即可,并且要开启服务器的相应端口,但是访问起来就比较麻烦了,每次访问都得加上端口号,如果不加端口号,即默认访问80端口。用域名langp.wang来图示说明:

二是全部网站都用80端口来实现访问,但是需要多个域名(或者二级域名),这种方法实现起来不算太难,访问也很方便,输入域名即可访问对应的网站,因此这篇博客主要来介绍这种方法。这种方法用域名langp.wang来举例就是这样的:

我的顶级域名是langp.wang,这个域名挂的是我的博客网站,我用一个顶级域名下的test1.langp.wangtest2.langp.wang这两个二级域名来举例子,再到服务器上添加两个网站。

1.域名解析

在阿里云域名解析控制台中添加域名解析,可以是几个不同的顶级域名,也可以是一个顶级域名下的二级域名。记录值相同,均为同一个服务器ip地址。

2.添加nginx配置文件

进入配置文件所在的目录,我的是/etc/nginx/sites-enabled,分别创建两个配置文件

# 进入目录
cd /etc/nginx/sites-enabled

# 创建test1和test2,配置文件可以随便命名
touch test1 test2

然后编辑这两个配置文件,test1的内容如下:

# HTTP服务配置
server {
    listen 80;
    # test1.langp.wang改为你的域名
    server_name test1.langp.wang;
    # 存放网站文件的根目录,根据自己的情况修改
    root /var/www/html/test1;

    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ =404;
    }

    # 加入php的配置,使服务器可以处理php网页
    location ~ \.php$ {
        #include snippets/fastcgi-php.conf;

        # 使用php-fpm(或其他unix套接字):
        fastcgi_pass unix:/run/php/php-fpm.sock;
        # 使用php-cgi(或其他tcp套接字):
        #fastcgi_pass 127.0.0.1:9000;
        # 设置脚本文件请求的路径
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        # 引入fastcgi的配置文件 
        include fastcgi_params;
    }
}

test2的内容与test1的内容也差不多,区别仅仅在于server_nameroot这两个参数不同,server_name是指服务器名称,填写要访问网站的域名即可,root是该网站的根目录。

# HTTP服务配置
server {
    listen 80;
    # test2.langp.wang改为你的域名
    server_name test2.langp.wang;
    # 存放网站文件的根目录,根据自己的情况修改
    root /var/www/html/test2;

    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ =404;
    }

    # 加入php的配置,使服务器可以处理php网页
    location ~ \.php$ {
        #include snippets/fastcgi-php.conf;

        # 使用php-fpm(或其他unix套接字):
        fastcgi_pass unix:/run/php/php-fpm.sock;
        # 使用php-cgi(或其他tcp套接字):
        #fastcgi_pass 127.0.0.1:9000;
        # 设置脚本文件请求的路径
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        # 引入fastcgi的配置文件 
        include fastcgi_params;
    }
}

编辑完之后,重启nginx服务:

sudo nginx -s reload

3.添加网站

在相应的网站根目录中(上一步配置文件里设置的root后面的目录)添加网站文件,添加完成后。访问对应的域名,你就会发现打开的是不同的网站了,说明配置成功。

建站LinuxubuntuNginxLNMP
朗读
赞 · 0
版权属于:

Roookie博客 | 记录 · 收纳 · 分享

本文链接:

https://www.langp.wang/archives/132/(转载时请注明本文出处及文章链接)

评论 (0)
知识分子没文化
不要因为走得太远,就忘了当初为什么出发
53 文章数
6 评论量

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

标签云