WWW服务器搭建
一、目前最主流的web服务器
- Apache
- Nginx
- IIS
- Tomcat
二、基础知识
本次安装的是Apache,Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的web服务器软件。
Linux系统安装软件和window系统上安装软件略微不同,在window系统上安装软件一般是二进制文件(一般的格式是.exe和.msi),或者是绿色软件,免安装软件,解压后就可以运行使用。Linux系统安装软件常用的方式有三种,一是源码编译安装,二是软件包安装,三是在线安装。
三、源码编译安装
源码编译安装是指使用源代码,根据机器自身的硬件、内核、环境进行编译,生成二进制文件。优点是可以生成适合自己机器的二进制包,生成的二进制程序运行起来理论上性能更好,更节省资源。
Httpd软件依赖如下3个软件包,所以在安装Httpd软件前,需要先安装如下3个软件。
- arp: Apache可移植运行时库,支持跨平台,其内存管理模块被itrans引擎使用。
- apr-util:是APR开发包中一个衍生版。
- pcre:一个Perl库,包括perl兼容的正则表达式库。
安装apr依赖包步骤如下所示:
解压源码包:tar zxvf apr-1.4.5.tar.gz
进入源码文件夹:cd apr-1.4.5/
配置(生成Makefile):./configure --prefix=/usr/local/apr
编译源码:make
安装源码:sudo make install
配置成功执行结果(./configure --prefix=/usr/local/apr)]
安装apr-util依赖包步骤如下所示:
解压源码包:tar zxvf apr-util-1.3.12.tar.gz
进入源码文件夹:cd apr-util-1.3.12/
配置(生成Makefile):./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
编译源码:make
安装源码:sudo make install
[配置成功执行结果(./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config )]
[安装成功结果]
安装pcre依赖包步骤如下所示:
解压源码包:unzip pcre-8.10.zip
进入源码文件夹:cd pcre-8.10/
配置(生成Makefile):./configure --prefix=/usr/local/pcre
编译源码:make
安装源码:sudo make install
[配置成功执行结果(./configure --prefix=/usr/local/pcre )]
下载Httpd源码包,此处使用的是httpd-2.4.27.tar.gz 。
具体安装步骤如下所示:
解压源码包:tar xvfj httpd-2.4.27.tar.bz2
进入源码文件夹:cd httpd-2.4.27/
配置(生成Makefile):./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ -with-pcre=/usr/local/pcre
编译源码:make
安装源码:sudo make install
[配置成功执行结果(./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ -with-pcre=/usr/local/pcre )]
[安装成功结果]
至此源码安装httpd软件结束,如果正确安装,则可以执行apachectl命令启动服务:
在线安装Httpd
使用的系统环境是Ubuntu,具体的步骤如下:
更新软件源:sudo apt-get update
安装httpd:sudo apt-get install apache2
注意:如果当前用户是root,则执行以上安装命令时不需要加sudo。
四、www服务器启动/关闭
当我们成功安装好软件后,默认httpd服务是关闭的,如需访问本地搭建的网站时,需开启httpd服务。
Ubuntu系统下,软件安装后,会在/etc/init.d/目录下生成一个启动该服务软件的脚本,使用命令:ls -l /etc/init.d/apache2
根据上图,我们可以看到该软件的脚本文件的权限。可读可写可执行。
Linux service命令
Linux系统中使用service命令来控制系统服务,它可以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
service命令的使用格式:service 服务名 控制命令
- 服务名:自动要控制的服务名,即/etc/init.d目录下的脚本文件名;
- 控制命令:系统服务脚本支持的控制命令
常见的控制命令:
- start:启动该服务;
- stop:关闭该服务;
- restart:重新启动该服务;
- status:查看该服务状态;
首先我们查看httpd的状态,命令如下:
sudo service apache2 status
启动Httpd服务并且查看是否启动成功,可以使用如下命令:
sudo service apache2 start
sudo service apache2 status
重新启动Httpd服务并且查看是否重新启动成功,可以使用如下命令:
sudo service apache2 restart
sudo service apache2 status
关闭Httpd服务并且查看是否关闭成功,可以使用如下命令:
sudo service apache2 stop
sudo service apache2 status
五、案例
案例一:将默认访问端口号从80修改为8011
1.1将默认访问端口号从80修改为8011, ports.conf为配置端口文件。
sudo vim /etc/apache2/ports.conf
Linsen:8011
1.2编辑000-default.conf
sudo vim /etc/apache2/sites-enabled/000-default.conf
1.3重启apache2,
sudo service apache2 restart
案例二:添加一个新的监听端口为8012,将根目录设置为/var/www/html/test
2.1添加一个心得监听端口为8012,
sudo vim /etc/apache2/ports.conf
添加Listen 8012
2.2修改80端口所监听的网站根目录为/var/www/html/test,同时将默认网页内容进行修改
2.3修改网站根目录
sudo vim /etc/apache2/sites-enabled/000-default.conf
照抄前面8011的内容,只需把DocumentRoot后面的路径改为:/var/www/html/test;
2.4重启apache2
sudo service apache2 restart