Linux——web网站服务(一)

一、安装httpd服务器Apache网站服务

1、准备工作

为了避免发送端口冲突,程序冲突等现象,卸载使用rpm方式安装的httpd

#使用命令检查是否下载了httpd
[root@server ~]# rpm -qa httpd
#如果有则使用
[root@server ~]# rpm -e httpd --nodeps 

Apache的配置及运行需要apr 、 pcre等软件包的支持.因此应从系统光盘镜像中预先安装这些软件及其开发包(devel),以便提供相应的库和头文件.确保Apache 的安装顺利完成。

#先将光盘挂载到mnt目录
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

[root@localhost ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-20.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-8.32-17.el7.x86_64.rpm 

2、源码编译及安装

源码编译安装httpd 服务的过程主要包含解包、配置.编译及安装。

#进入ftp获取httpd压缩包
[root@localhost ~]# wget --ftp-user=135 --ftp-password=123.123 ftp://172.16.37.13/软件下载/y2/y2c/httpd-2.4.25.tar.gz

1)解包

将下载获得的httpd源码包解压并释放到/usr /src目录下,且切换到展开后的源码目录中。

[root@localhost ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src

2)配置

根据服务器的实际应用需要,可以灵活设置不同的定制选项.如指定安装路径.启用字符集支持等。

[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrit --enable-charset-lite --enable-cgi

3)编译及安装

完成配置以后.执行"mnake"命令进行编译.将源代码转换为可执行的程序;然后执行"make install"命令完成最后的安装过程;将编译完的httpd程序及相关目录、文件复制到预设的安装目录(由配置时的"一―prefix"选项指定)。其中"make"的过程可能会需要较长的时间。

[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install

3、确认安装结果

由于指定的安装目录为/usr /local/httpd,因此 httpd服务的各种程序.模块.帮助文件等都将复制到此目录下。

[root@localhost httpd-2.4.25]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules

4、优化执行路径

通过源码编译安装的 httpd 服务.程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接

#为bin目录创建软链接
[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/apachectl
ls: 无法访问/usr/local/apachectl: 没有那个文件或目录
lrwxrwxrwx. 1 root root 26 12月  9 00:57 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd
[root@localhost httpd-2.4.25]# 

5、添加httpd系统服务

CentOS 7系统下.将编译安装的程序添加为系统服务有两种方式:①通过chkconfig命令添加为系统服务,然后由systemctl进行管理,②在/lib/systemd/systern/目录下,手动编写以.service结尾的单元(unit)配置文件。

1)使用chkconfig添加系统服务

若希望将httpd添加为系统服务,以便通过chkconfig进行管理.需要建立可控的服务脚本。例如,可将apachectl脚本复制为/etc/init ,d/httpd,并在文件开头添加chkconfig识别配置,然后将其添加为标准的Linux系统服务。

#将apachectl脚本复制为etc/init.d/httpd
[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
#进入httpd配置文件
[root@localhost ~]# vim /etc/init.d/httpd 

#chkconfig:35 85 31 //服务识别参数,在级别3、5启动:启动和关闭的顺序分别为85/21
#description:Startup script for the Apache HTTP Server //服务描述信息

[root@localhost ~]# chkconfig --add httpd   //将http添加为系统服务

2)建立[service].service 配置文件

在/lib/systemd/system/目录下,建立一个以.service结尾的单元(unit)配置文件.用于控制由systemd控制或监控的httpd服务。配置文件主要分为三个部分.控制单元[Lhit]的定义、服务[Service]的定义以及安装部分[Install],具体内容如下

[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
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Intall]
WantedBy=graphical.target`

httpd.service文件编写完成后,执行如下命令设置httpd服务开机启动

[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl is-enabled httpd.service    //查看httpd服务的自启动状态

6、配置并启动http服务

1)配置http服务

编辑httpd 服务的主配置文件httpd , conf,查找配置项"ServerName",在附近添加一行内容"ServiceName www, bdqn. com",用于设置网站名称。

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
//更改第200行内容
 #ServerName www.bdqn.com:80

修改httpd . conf 文件的配置内容以后,建议使用带"一t"选项的apachectl命令对配置内容进行语法检查〈或使用"httpd -t"命令)。如果没有语法错误.将会显示"Syntax OK"的信息,否则需要根据错误提示信息来修正配置。

[root@localhost ~]# apachectl -t
Syntax OK

2)启动httpd服务

使用脚本文件/usr/local/httpd/bin/apachectl,分别通过"start""stop""restart"选项进行控制,可用来启动.终止.重启httpd服务。或者使用systemctl命令控制/lib/systernd/system/ttpd , service配置文件.从而实现对httpd 服务进行控制。正常启动httpd 服务以后,默认将监听TCP协议的8O端口。

[root@localhost ~]# netstat -anpt | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      27321/httpd         
[root@localhost ~]# 

3)部署网页文档

对于新编译安装的httpd 服务,网站根目录位于/usr /local /httpd/htdocs 下,需要将Web站点的网页文档复制或上传到此目录下。httpd服务器默认已提供了一个名为index, html的测试网页作为访问网站时的默认首页。

相关推荐
老汉忒cpp几秒前
手动部署并测试内网穿透(ssh 和 nginx)
运维·服务器
有时间要学习3 分钟前
Linux——应用层自定义协议与序列化
linux·服务器·网络
阑梦清川13 分钟前
简明linux系统编程--互斥锁--TCP--UDP初识
linux·udp·tcp·互斥锁·信号·解锁·加锁
hardStudy_h17 分钟前
Linux——常用系统设置和快捷键操作指令
linux·运维·服务器
我叫啥都行43 分钟前
计算机基础知识复习9.7
运维·服务器·网络·笔记·后端
XF鸭1 小时前
TCP 和 UDP 协议的区别?
linux
qq 1778036222 小时前
智能新时代,游戏盾守护顺畅体验
运维·服务器·网络·游戏·云计算·ddos·ip
Flying_Fish_roe2 小时前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle
不见长安见晨雾2 小时前
Linux:vim编辑技巧
linux·编辑器·vim
神秘的土鸡3 小时前
Linux中使用Docker容器构建Tomcat容器完整教程
linux·运维·服务器·docker·容器·tomcat