Ubuntu 18.04下使用Apache搭建一个web服务器

几个必要的概念

*
web服务器

以我之见,web服务器就是运行在计算机上的一个向整个网络或者是web客户端、浏览器提供文档的一个程序
,我们通过http请求便可以获取到存储到web服务器中的信息。

*
web服务器与网络服务器的区别

网络服务器是网络环境下为客户提供某种服务的专用计算机。换言之,我们的web服务器服务(程序)便是跑在这种计算机下面的。

*
常见的web服务器

常见的web服务器有Apache、ngnix、IIS

*
Apache

Apache音译为阿帕奇,
是全世界最受欢迎的web服务器,因其快速、可靠并且可通过简单的API扩充,能将Python\Perl等解释器部署在其上面等优势,受到广泛的关注与使用。

*
Ngnix
Apache的致命缺陷就是在同时处理大量的(一万个以上)请求时,显得有些吃力,所以“战斗民族”的人设计的一款轻量级的web服务器——Ngnix,
在高并发下nginx 能保持比Apache低资源低消耗高性能 ,

*
IIS
iis是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft
Windows的互联网基本服务,

Apache2 web 服务器的安装

相信看了鸟哥的书,再加上自己的Linux版本是Ubuntu
18.04的朋友会疑惑自己的Linux系统上没有httpd这个服务,其实这一点我们不必惊慌,我们也不必单独装一个httpd服务,此时直接装一个Apache便搞定,因为
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。

*
下面我们来看看新版的Apache2 web服务器的安装:

*
无需华丽的修辞,我们一个命令搞定
sudo apt install apache2 -y
*
安装完毕后,我们检查是否启动了Apache服务
systemctl status apache2
*
我们再来看看一些操作Apache的常用命令
开启、关闭和重启服务器 1、/etc/init.d/apache2 start //启动Apache服务 2、/etc/init.d/apache2 stop
//停止Apache服务 3、/etc/init.d/apache2 restart //重启Apache服务
*
下面我们就可以开始访问我们刚刚配置的Apache服务器了。打开浏览器,输入http://127.0.0.1/ <http://127.0.0.1/>
(这是主机默认的IP地址)或者如果是云主机就输入云主机的IP地址。当我们看到下面的页面时变说明Apache2 服务已经成功在我们的服务器上工作了。


Apache修改网站根目录及默认网页

我们来试着修改web服务器的配置,让我们可以在自己搭建的web服务器上访问到自己规定的数据:

*
修改根目录

在 /etc/apache2/sites-available 中修改 000-default.conf 中的DocumentRoot /var/www/
修改为想要的目录
比如:DocumentRoot /var/www/html/mainpage
执行命令:
vim /etc/apache2/sites-available/000-default.conf
修改000-default.conf中的DocumentRoot /var/www/,如下
ServerAdmin [email protected] DocumentRoot /var/www/html //
一般我们默认为这个作为网站的根目录
*
接下来重启apache 即可
sudo apache2ctl -k restart
*
修改默认网页为自己想要的页面

修改/etc/apache2/mods-available/dir.conf中的内容
执行命令:
vim /etc/apache2/mods-available/dir.conf
原来是:
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php
index.xhtml index.htm </IfModule>
添加上想要的/wordpress就行啦~
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php
index.xhtml index.htm /wordpress </IfModule>
实际上在这里添加文件或目录的意思是,用于我们允许http请求访问到/var/www/html下的改文件或目录中的内容的意思:
例如我添加了test这个目录
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php
index.xhtml index.htm /test </IfModule>
在再里面添加个名为index.html的文档,写入“Hello World!”,于是我们便可通过IP地址+/test/index.html访问到:



好了,我们可以开始我们的网站搭建之路了。。。。。。