如何编译源码安装

#include <stdio.h>
main()
{printf(“Hello World!\n”);
}
gcc -o hello hello.c
在编写hello.c的时候出现问题一直找不到,后来发现是因为我安装的gcc有问题
我在安装的时候是用rpm -ivh gcc –nodeps忽略依赖关系直接安装的,但是后来发现这样安装后不能用虽然装上了,最后用rpm -e gcc 卸载,再用yum install gcc安装,这样再编译就没有问题了

下面给出错误

如何编译源码安装

如何编译源码安装

如何编译源码安装

–sysconfdir:指定配置文件安装路径
–prefix:指定默认安装路径
注意: /pp/apache24和/etc/apache24不需要手工去mkdir
yum install -y apr-devel 其中,-y是不询问

如何编译源码安装

一般第一次编译都会这样,有很多东西都要装
第二步:接下来是安装包组 “Development Tools”

如何编译源码安装

也可以查看安装文件 vim INSTALL

如何编译源码安装如何编译源码安装

第三步:make 任何人都可以做
第四步:make install 只有root才能做
之后开启httpd服务(service httpd start)Centos7里面使用(start httpd.service),前提是已经安装过httpd服务,用yum ,yum可以自己找路径,解决了包依赖问题,
service httpd status 查看httpd状态,有没有开启
netstat -ntl 查看端口状态
非常关键的一步
启动服务
/app/apache24/bin/apachectl start 注意:这条命令一定要敲两遍服务才会启动,之前因为之敲了一遍所以访问http://172.17.253.136时加载出来的是testing123文件的界面,之所以会加载到这个界面是因为系统安装时默认安装一个httpd服务名字是httpd-2.4.6-45.el7.centos.x86_64.rpm,因为这个服务没打开,所以我查的时候没有找到系统中有任何httpd服务存在,所以就用yum手动安装了了一个httpd-2.4.6-45.el7.centos.x86_64.rpm以至于后面访问http://172.17.253.136时一直显示默认安装的httpd服务里面的index.html文件,之前已经下载了源码包httpd-2.4.27.tar.bz2,并用makeinstall自动安装上了httpd服务,正确做法应该是安装之后开启这个服务/app/apache24/bin/apachectl start 并且敲两遍,并且用yum remove httpd-2.4.6-45.el7.centos.x86_64.rpm把这个手动安装的httpd卸载掉以防自动加载页面显示,总之一句话就是使用源码安装时服务没有开启成功导致我又用yum手动安装了一个httpd服务
还可以把PATH 路径改一下,让系统优先找/pp/apache24/bin/apachectl
在centos6里面方法为:export PATH=/pp/apache22/bin/:$PATH 或者写到/etc/profile.d/*.sh文件里,这样切换到任何用户都生效
说明一下:我的虚拟机app名为pp

如何编译源码安装

拓展

如果不想敲两遍可以按照下面的方法做
进入/etc/apache24下编辑htpd.conf文件做如下操作

如何编译源码安装

根据系统提示做如下更改

如何编译源码安装

设置成功

如何编译源码安装

关闭防火墙
CentOS7
systemctl is-active firewalld.service 查看当前是否开启
systemctl stop firewalld.service 关闭防火墙
systemctl is-enabled firewalld.service 查看系统启动时是否开启
systemctl disable firewalld.service 关闭系统启动时开启
CentOS6
service iptables stop

原创文章,作者:sqjl,如若转载,请注明出处:http://www.178linux.com/85046

(0)
sqjlsqjl
上一篇 2017-08-19
下一篇 2017-08-19

相关推荐

  • shell脚本编程2

    shell脚本编程2   今天继续学习了shell脚本编程,续之前写的脚本编程1。上次主要学了编程的基础,脚本格式,变量类型及变量的使用,条件测试,数字运算并且进行了部分练习,因为这部分逻辑思维能力要求不是很高,因此记忆起来难度不是特别大。   从今天开始便进入了流程控制以及函数、数组、高级字符串操作、高级变量等内容的学习,总体来说难度和…

    Linux干货 2016-08-16
  • 深入了解磁盘结构

    一、     linux中常见的磁盘:   无论什么操作系统,归根还是要落实与磁盘上的,对于磁盘的管理也是linux管理必备的一项技能。在linux中“一切皆文件”的思想贯彻整个linux的学习中,包括像是磁盘等的硬件也是在linux的/dev/目录下类似于文件形式的存放,常见的SATA口USB优盘或是SCS…

    Linux干货 2016-08-29
  • 缓存需知

    Edit Web缓存核心技术点需知 5.1 HTTP首部控制 5.2 基于新鲜度检测机制: 2.1 特征1:时间局部性 2.2 特征2:空间局部性 2.3 缓存的优点 2.4 哪类数据应该被缓存 2.5 哪类数据可缓存但不应该被缓存 2.6 缓存命中率决定缓存有效性 2.7 缓存数据生命周期 2.8 缓存处理步骤 2.9 缓存和普通数据读取的区别 1. 完整…

    Linux干货 2017-06-01
  • 01day-计算机与操作系统基础

    第1章 计算机基础 1.1 什么是计算机 计算机是个笼统的概念,泛指一切计算功能的机器。这样扯的话,以前的算盘也是计算机了。我们现在的计算机应该称作电子计算机,我天朝人民称为电脑。听说谷歌在研究量子计算机,完全不懂是什么玩意。 一不小心在百度百科看到还有光子计算机,生物计算机,吓我一跳,赶紧复制链接过来,自己慢慢看《百度百科—-计算机》 &nbs…

    Linux干货 2016-06-29
  • 数据库简介和简单操作

    数据库 数据库是数据的汇集,它以一定的形式存储在存储介质上 数据库的发展史 萌芽阶段:文件系统,使用磁盘文件来存储数据 初级阶段:第一代数据库,出现了网状模型、层次模型的数据库 中级阶段:第二代数据库,关系型数据库和结构化查询语言 高级阶段:新一代数据库,“关系-对象”型数据库 数据库管理系统和文件管理系统 文件管理系统的缺点是: 编写应用程序不方便 数据冗…

    2017-12-04
  • shell 脚本的编辑基础

          shell脚本是Linux运维工程师必须掌握的技能之一,shell脚本的使用让我们更好的操作Linux系统,方便了我们的执行。 一,编程基础 编程基本概念 编程逻辑处理方式:顺序执行,循环执行,选择执行 程序:指令+ 数据 shell 编程:过程式、解释执行 shell程序:提供了编程能力,解释执…

    Linux干货 2016-08-22