主流的Web服务器
名称 | 特点 | 处理方式 |
---|---|---|
Apache | 功能完善,资源占用大 | 动态请求 |
nginx | 高并发,轻量级别 | 静态请求 |
tomcat | 容器 Java 资源占用少,灵活 | 动态请求 |
Apache
主要特点:
- 跨平台应用
- 支持多种网页编程语言
- 模块化设计、运行稳定、良好的安全性
版本
- 1.x的版本几乎是跑静态页面
- 2.x的版本支持动态页面
yum与编译安装:
yum -y install ——————> 品牌机(已组装好的)
手动编译安装 ——————> 组装机 (根据自己需求进行组装)
编译安装
优点: 编译安装过程,可以设定参数,按照需求,进行安装,灵活性比较大。
缺点: 安装包过新或者是其他问题,导致依赖的包没有,或者版本过低,再去花时间解决依赖问题,得不偿失。
yum安装
优点: 安装东西,方便快捷,特别是不用考虑包依赖。
缺点: 安装过程,人为无法干预,不能按需安装,源里面有什么就安装什么。
安装Apache所需软件
- apr-1.6.2.tar.gz
- apr-util-1.6.0.tar.gz
- httpd-2.4.29.tar.bz2
这三个包需放到opt目录下
[root@localhost ~]# cd /opt
[root@localhost opt]# ll
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr #移动并命名apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util #移动并命名apr-util
安装环境
[root@localhost opt]#
yum -y install \
gcc \ #编译器
gcc-c++ \
make \ #把配置文件转换成二进制文件
pcre-devel \ #支持底层正则表达式的格式
expat-devel \ #支持开发语言的格式
perl #支持perl语言
注解:
言而总之就是使Apache能够支持多种语言对其进行声明。
“ \”-----------表示换行
配置模块
[root@localhost opt]# cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \ #指定的安装路径
--enable-so \ #开启Apache核心功能模块
--enable-rewrite \ #启用网页地址重写功能
--enable-charset-lite \ #支持字符集
--enable-cgi #cgi脚本程序支持 、cgi--->通用网关接口
注解:
- –prefix:指定将 httpd 服务程序安装到哪个目录下,如/usr/local/httpd
- –enable-so:启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力。
- –enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
- –enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网
- –enable-cgi:启用 CGI 脚本程序支持,便于扩展网站的应用访问能力。
编译及安装
[root@localhost opt]# make -j3
[root@localhost opt]# make install
注解:
-j3是你核心数,最大不要超过虚拟机的核心数。
优化执行路径
ln -s /usr/local/httpd/conf/httpd.conf /etc/ #简化路径
ln -s /usr/local/httpd/bin/* /usr/local/bin/
httpd -v ###查看HTTP版本
添加 httpd 系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
# chkconfig: 35 85 21 #35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web server #描述信息 可以写可以不写
注解:
35级别--------->init 3和init 5
init 0:关机
init 1:单用户无网络(只有管理员能登录,系统维护时用)
init 2:多用户无网络
init 3:字符终端多用户有网络
init 5:图像化多用户有网络
建立[service].service 配置文件添加系统给服务
[root@localhost ~]# cd /lib/systemd/system/
[root@localhost system]# vim httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service ###开机自启http
[root@localhost system]# systemctl start httpd.service ###检查HTTP单元是否启动
**注意:**切记!!!切记!!!先关闭防火墙!!!
httpd.conf修改配置文件
vi /usr/local/httpd/conf/httpd.conf
ServerName www.51xit.top:80 ###更改下
systemctl restart httpd ####重启httpd服务
用系统的浏览器验证
netstat -anpt | grep 80 #过滤80端口,检验是否开启
注释:
可以用ip地址进行验证了
附加
验证配置文件语法是否有错两种方式:
1)httpd -t
2)apachectl -t
过滤端口
1)netstat -anpt | grep 80
2)lsof -i:80
3)ps aux | grep httpd