目录:
环境说明:
Linux:ubuntu 20.04
Nginx:1.18
Mysql:8.0
PHP:7.3
服务器:阿里云服务器
对于一个服务器,理论上来说在上面可以运行无限多个网站。但是,现实中往往到考虑服务器的配置,当服务器要处理的事务太多的时候,也就忙不过来了。
接下来就是如何实现的问题。在Nginx下有两种思路可以实现这个目的:
一是只需要一个域名(一级域名或者二级域名都可以),做一次域名解析即可,将域名解析到服务器IP地址,用不同的端口来实现不同网站的服务,即用同一个域名 + 端口号的方式来访问相应的网站。这种方法实现起来比较简单,修改网站配置文件里的端口即可,要开启服务器的相应端口,但是访问起来就比较麻烦了,每次访问都得加上端口号,如果不加端口号,便默认访问80端口。用域名langp.wang来图示说明:
二是全部网站都用80端口来实现访问,但是需要多个域名(或者二级域名),这种方法实现起来不算太难,访问也很方便,输入域名即可访问对应的网站,因此这篇博客主要来介绍这种方法。这种方法用域名langp.wang来举例就是这样的:
我的顶级域名是langp.wang,这个域名挂的是我的博客网站,我用一个顶级域名下的test1.langp.wang和test2.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_name与root这两个参数不同,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后面的目录)添加网站文件,添加完成后。访问对应的域名,你就会发现打开的是不同的网站了,说明配置成功。
评论 (0)