Ubuntu 18.04下使用Apache搭建一个web服务器
几个必要的概念
https://blog.csdn.net/weixin_39212776/article/details/81192847
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/ (这是主机默认的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 webmaster@localhost 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访问到:

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