Linux——web网站服务(一)

news/2024/10/17 15:25:16/

一、安装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的测试网页作为访问网站时的默认首页。
        


http://www.ppmy.cn/news/1266284.html

相关文章

uni-app 微信小程序之好看的ui登录页面(四)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程…

优势怪代码

#include <stdio.h> int main() { int t; scanf("%d", &t); // 读取测试用例的数量 while (t--) { // 对每个测试用例进行处理 int n, max1 0, max2 0, k 0; scanf("%d", &n); // 读取数组的大小 in…

leetcode206. 反转链表

题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例 3&#xf…

AVP对纵向控制ESP(Ibooster)的需求规范

目录 1. 版本记录... 3 2. 文档范围和控制... 4 2.1 目的/范围... 4 2.2 文档冲突... 4 2.3 文档授权... 4 2.4 文档更改控制... 4 3. 功能概述... 5 4. 系统架构... 6 5. 主要安全目标... 7 5.1 …

Spring Boot 常用注解分类

目录 1.核心注解&#xff1a;2.配置相关注解&#xff1a;3.控制器相关注解&#xff1a;4.数据访问相关注解&#xff1a;5.测试相关注解&#xff1a;6.条件注解&#xff1a;7.AOP相关注解&#xff1a;8.定时任务相关注解&#xff1a;9.消息队列相关注解&#xff1a;10.Spring Se…

青少年CTF-Misc(持续更新中)

FLAG&#xff1a;当觉得自己很菜的时候&#xff0c;就静下心来学习 专研方向:Web安全&#xff0c;CTF 每日emo&#xff1a;听一千遍反方向的钟&#xff0c;我们能回到过去吗&#xff1f; 1.StegoTXT&#xff1a; 解压缩文件。发现字母中存在覆盖。使用0宽隐写在线解密得到flag…

从零构建属于自己的GPT系列5:模型部署1(文本生成函数解读、模型本地化部署、文本生成文本网页展示、代码逐行解读)

&#x1f6a9;&#x1f6a9;&#x1f6a9;Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在PyCharm中进行 本篇文章配套的代码资源已经上传 从零构建属于自己的GPT系列1&#xff1a;数据预处理 从零构建属于自己的GPT系列2&#xff1a;模型训…

〖大前端 - 基础入门三大核心之JS篇(51)〗- 面向对象之认识上下文与上下文规则

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;哈哥撩编程&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xff0c;目前在公司…