网站架构
常见的网站架构为:LAMP。
即Linux+Apache+MySql+PHP。其中Linux作为系统,承载各种服务;Apache作为前台服务程序,响应用户;MySql作为数据管理软件,存储用户的数据信息;PHP作为中间件,模拟用户将信息写入或读出数据库。
静态站点搭建
借助Apache搭建静态站点。并且实现在一台服务器上部署多个独立站点。
Apache简介
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件。 它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
Apache的软件包名称为httpd。它提供了两个服务端口:80端口(http)和443端口(https)。
配置文件为**/etc/httpd/conf/httpd.conf**,子配置文件为**/etc/httpd/conf.d/*.conf**。
默认的网站资源存放目录为**/var/www/html/**
安装Apache
- 安装Apache:
yum install -y httpd - 启动服务:
systemctl start httpd - 设置开机启动:
systemctl enable httpd - 关闭防火墙:
systemctl stop firewalld - 关闭SELinux:
setenforce 0 - 查看httpd状态:
httpd -v 或 systemctl status httpd - 测试:利用客户端,在浏览器中输入服务器的ip地址,即可正确访问。
firewalld:保护互联网对服务器的影响
SELinux:保护服务器内部程序对内部文件的访问,如限制ftp只能访问/var/ftp。可用
getenforce来查看SELinux的状态
虚拟主机
使用虚拟主机的目的是在一台物理服务器上部署多个网站。而客户机访问网站时,将通过域名来区分用户所要访问的将是哪个网站。
我将在一台服务器上部署两个网站,分别为:
www.a.org,网站资源存放目录为/var/www/html/a.orgwww.b.org,网站资源存放目录为/b.org
配置站点a.org
-
准备网站源码目录
mkdir /var/www/html/a.org vim /var/www/html/a.org/index.html -
创建a.org的网站配置文件
vim /etc/httpd/conf.d/a.org.conf #后缀一定要是.conf #####编辑内容如下######## <VirtualHost *:80> ServerName www.a.org #利用域名区分网站 DocumentRoot /var/www/html/a.org #网站资源根目录 <VirtualHost> -
检查配置文件语法,重启服务
httpd -t #检查配置文件语法是否错误 systemctl restart httpd
配置站点b.org
-
准备网站源码目录
mkdir /b.org vim /b.org/index.html -
创建b.org的网站配置文件
vim /etc/httpd/conf.d/b.org.conf #####编辑内容如下####### <VirtualHost *:80> ServerName www.b.org #利用域名区分网站 DocumentRoot /b.org #网站资源根目录 <VirtualHost> <Directory "/b.org"> Require all granted #因为网站资源根目录并没有放置在/var/www/html下,所以需要修改权限 </Directory> -
检查配置文件语法,重启服务
httpd -t #检查配置文件语法是否错误 systemctl restart httpd
客户端连接服务器测试
在客户端,编辑/etc/hosts,将域名与服务器ip地址做映射。
vim /etc/hosts
############编辑内容如下#############
服务器IP www.a.org
服务器IP www.b.org
在浏览器中输入想要访问的网站域名,即可成功访问。
对于字符界面,我们可以利用安装elinks软件包来访问网站
使用方式是:
elinks 域名/ip地址
动态站点
动态站点与静态站点的区别在于内容是实时更新的。以部署论坛系统discuz为例
基础环境
关闭SELinux与防火墙。
安装LAMP
- 安装所需服务:
yum install -y httpd mariadb-server mariadb php php-mysql gd php-gd - 启动服务:
systemctl start httpd mariadb - 设置开机启动:
systemctl enable httpd mariadb
安装Discuz
-
导入Discuz网站源码
wget http://download.comsenz.com/DiscuzX/2.5/Discuz_X2.5_SC_UTF8.zip #下载源码 mkdir -p /webroot/discuz #创建网站资源存放目录 unzip Discuz_X2.5_SC_UTF8.zip cp -rf upload/* /webroot/discuz/ #将源码复制到资源存放目录 chown -R apache.apache /webroot/discuz/ #修改权限 -
配置虚拟主机
vim /etc/httpd/conf.d/discuz.conf ########配置内容如下############## <VirtualHost *:80> ServerName www.discuz.com #利用域名区分网站 DocumentRoot /webroot/discuz #网站资源根目录 <VirtualHost> <Directory "/webroot/discuz"> Require all granted </Directory>建议重启httpd服务,以将配置读入内存
-
准备数据库
mysql #进入mysql界面 MariaDB[(none)]> create database discuz; -
安装discuz
在hosts中,添加discuz的域名解析后,进入discuz进行配置。
-
客户端测试
在hosts中,添加域名解析之后,即可进入discuz体验。