LAMP 架构及搭建网站
一,使用LAMP架构搭建Web服务器
1,LAMP=Linux+Apache+Mysql+PHP
Linux常指代系统,没有明确规定版本,如CentOS/Ubuntu/Debian等都可以作为服务器系统
Apache是Web解析的引擎,用于将网页源代码文件处理成浏览器可转换的页面文件
MySQL数据库,MySQL是关系型数据库,以表的形式来保存数据,其中数据存储是以行和列的方式存储
PHP是网页脚本语言,用于生成页面框架,不可单独使用,一般作为Apache的语言扩展(使Apache可以支持更多页面语言)
2,实现一个默认网页文件htlm搭建多个网站的方式:
a,利用IP进行搭建:
为主机增加一个虚拟IP
#ifconfig ens33:1 192.168.9.251(临时IP,关闭或重启后失效)
进入/var/www/html/下,创建目录,web1和web2
#mkdir web1 web2
修改Apache的配置文件
#vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.18.250:80>
DocumentRoot /var/www/html/web1
</VirtualHost>
<VirtualHost 192.168.18.251:80>
DocumentRoot /var/www/html/web2
</VirtualHost>
重启Apache服务
#systemctl restart httpd
b,利用端口进行搭建
在/var/www/html/下创建目录:web3和web4
修改配置文件
#vim /etc/httpd/conf/httpd.conf
Listen 81
Listen 82
<VirtualHost 192.168.18.250:81>
DocumentRoot /var/www/html/web1
</VirtualHost>
<VirtualHost 192.168.18.250:82>
DocumentRoot /var/www/html/web2
</VirtualHost>
重启Apache服务
#systemctl restart httpd
c,利用域名进行搭建
在/var/www/html/下创建目录,web5和web6
修改配置文件
vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerName birdteam1.net
DocumentRoot /var/www/html/web5
</VirtualHost>
<VirtualHost *:80>
ServerName birdteam2.net
DocumentRoot /var/www/html/web6
</VirtualHost>
修改/etc/hosts(静态解析配置文件)里面的配置文件,如:
#vim/etc/hosts
192.168.9.250 birdteam1.net
192.168.9.250 birdteam2.net
注意!需要用虚拟机内部的浏览器进行访问,如果想用主机浏览器访问,需要配置dns
重启Apache服务
#systemctl restart httpd
3,安装步骤:
安装Apache,MySQL,PHP
#yum -y install httpd* mariadb* php* --skip-broken如果不加*,则下载的软件功能可能不健全
CentOS6及之前版本MySQL使用的服务名为mysql
CentOS7及以后版本MySQL使用的服务名为mariadb
启动服务
#systemctl start httpd mariadb
4,网站部署:
将下载好的网站源码解压后,放入网站根目录内可以选择Filezilla通过windows传过去
默认的网站根目录为: /var/www/html
可以通过主配置文件中DocumentRoot "/var/www/html"一项修改
需要修改引号内的,且需要绝对路径
默认的网页文件为: index.html或index.php
DirectoryIndex index.html html qq.html
修改 DirectoryIndex里面的内容可实现对默认网页文件的添加,修改,删除等操作
Apache主配置文件路径:/etc/httpd/conf/httpd.conf
创建数据库
#mysql
>create database 数据库名;
database:数据库 注意,后面一定要加分号
>quit
设置权限
#chmod -R 777 /var/www/html -R代表将html下所有的子目录,子文件设置权限
注意!在访问页面之前一定要关闭防火墙
二,nginx和apache的区别
nginx:
优点:轻量级,对静态文件处理较好,并发量高
缺点:对动态文件处理时,可能出现问题
nginx无法处理php文件,但可以找帮手帮他处理
apache:
优点:对动态文件处理较好,稳定,安全
缺点:服务臃肿,运行效率低
参考菜鸟博客.......