如何在服务器上建立多个站点?
- 行业动态
- 2025-01-15
- 4488
在服务器上建立多个站点是一项常见且重要的任务,特别是在需要运行多个Web应用程序或网站的情况下,本文将详细介绍几种常用的方法来实现这一目标,包括虚拟主机、反向代理和容器化技术。
一、虚拟主机
虚拟主机是一种在同一台物理服务器上运行多个网站的方法,每个网站都有自己独立的域名、目录和配置文件,虚拟主机可以分为基于IP的虚拟主机和基于名称的虚拟主机。
1. 基于名称的虚拟主机
基于名称的虚拟主机允许多个站点共享同一个IP地址,通过不同的域名来区分访问,以下是设置步骤:
安装Web服务器软件:确保已经安装了Apache或Nginx等Web服务器软件。
配置虚拟主机文件:
对于Apache:
<VirtualHost *:80> ServerName www.example1.com DocumentRoot /var/www/example1 </VirtualHost> <VirtualHost *:80> ServerName www.example2.com DocumentRoot /var/www/example2 </VirtualHost>
对于Nginx:
server { listen 80; server_name www.example1.com; root /var/www/example1; } server { listen 80; server_name www.example2.com; root /var/www/example2; }
启用虚拟主机配置:
对于Apache:使用命令a2ensite example1
和a2ensite example2
启用配置。
对于Nginx:使用命令ln -s /etc/nginx/sites-available/example1 /etc/nginx/sites-enabled/
和ln -s /etc/nginx/sites-available/example2 /etc/nginx/sites-enabled/
启用配置。
重启Web服务器:运行命令sudo systemctl restart apache2
或sudo systemctl restart nginx
重启服务器。
2. 基于IP的虚拟主机
基于IP的虚拟主机为每个网站分配不同的IP地址,以下是设置步骤:
获取多个IP地址:需要从网络服务提供商处获取额外的IP地址。
配置网络接口:在服务器的网络配置文件中添加多个IP地址。
配置虚拟主机文件:
对于Apache:
<VirtualHost 192.168.1.1:80> ServerName www.example1.com DocumentRoot /var/www/example1 </VirtualHost> <VirtualHost 192.168.1.2:80> ServerName www.example2.com DocumentRoot /var/www/example2 </VirtualHost>
对于Nginx:
server { listen 192.168.1.1:80; server_name www.example1.com; root /var/www/example1; } server { listen 192.168.1.2:80; server_name www.example2.com; root /var/www/example2; }
二、反向代理
反向代理是一种服务器配置方法,它通过代理服务器将请求转发到不同的后端服务器或应用程序,以下是设置步骤:
安装反向代理软件:常用的反向代理软件包括Nginx和HAProxy,以下以Nginx为例:
sudo apt-get update sudo apt-get install nginx
配置反向代理:在Nginx的配置文件中添加反向代理配置:
server { listen 80; server_name www.example.com; location /site1/ { proxy_pass http://127.0.0.1:8081/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /site2/ { proxy_pass http://127.0.0.1:8082/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
启动和重启服务:运行命令sudo systemctl restart nginx
重启服务器。
三、容器化技术
容器化技术通过Docker等工具在同一台服务器上运行多个独立的Web应用,每个应用都运行在自己的容器中,互不干扰,以下是设置步骤:
安装Docker:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
创建Dockerfile:为每个Web应用创建一个Dockerfile,
example1 Dockerfile FROM nginx COPY ./example1 /usr/share/nginx/html
构建和运行容器:
docker build -t example1 ./example1 docker run -d -p 8081:80 example1 docker build -t example2 ./example2 docker run -d -p 8082:80 example2
配置反向代理:使用Nginx或其他反向代理软件将请求分发到不同的容器。
server { listen 80; server_name www.example.com; location /site1/ { proxy_pass http://127.0.0.1:8081/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /site2/ { proxy_pass http://127.0.0.1:8082/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
四、域名配置
无论使用哪种方法,都需要将域名解析到服务器的IP地址,这可以通过域名注册商的DNS管理界面来完成,为每个网站配置A记录或CNAME记录,将域名指向服务器的IP地址。
domain1.com A 192.168.1.100 www.domain1.com A 192.168.1.100 domain2.com A 192.168.1.100 www.domain2.com A 192.168.1.100
五、宝塔面板部署(可选)
宝塔面板是一款提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能,以下是使用宝塔面板部署多个站点的步骤:
安装宝塔面板:登录云服务器的命令行终端,输入以下命令并按回车键:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
等待安装完成后,输入命令bt
显示面板的使用帮助菜单选项,输入数字14
,获取宝塔面板的登录地址、用户名和密码,复制登录地址到浏览器打开,输入用户名和密码进入宝塔面板后台管理页面,首次登陆后,会自动推荐安装环境套件,建议选择一键安装LNMP,修改你的用户名和密码,以及面板默认端口,注意修改面板端口之前,记得在云服务器的安全组中添加相应的入站规则。
一键部署WordPress建站程序:点击面板左侧“软件商店”,找到WordPress,选择一键部署,输入你的网站信息,即你的域名,避免出现不可知的错误,新手建议不要修改默认创建的数据库名和密码,自己保存好即可,在线安装WordPress网站程序时,先选择语言“简体中文”,然后填写数据库名和密码,安装完成后,登录WordPress管理后台。(后台登录地址为:你的网址或ip/wp-admin),至此,WordPress网站搭建完成,接下来可以去发布文章或更换主题,以及后期的维护等工作。
添加新站点:点击左侧“网站”,选择右边的“添加站点”,在弹出的窗口里填写好你的新站点信息即可。(如果只是部署静态网站的话,就不需要创建数据库),然后访问你的网站地址就会显示创建成功!接着你可以将你的静态网站源码上传到你的网站目录里,也可以手动部署WordPress网站(需要在上一步里创建数据库),如果你要做的是Wordpress网站,那么建议你先不要添加站点(即省略以上添加站点的步骤),直接在面板左侧“软件商店”选择一键部署WordPress即可(这时会帮你自己创建数据库或者手动更改也行),同时也会自动创建站点,部署WordPress成功后回到“网站”目录里就可以看到自己的站点了。
小伙伴们,上文介绍了“服务器如何建立多个站点啊”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/106113.html