centos编译环境 centos7
各位老铁们,大家好,今天由我来为大家分享centos编译环境,以及centos7的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
centos7怎么编译安装gcc-c++
方法/步骤
1
yum install glibc-static libstdc++-static-y
安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)
2
下载解压gcc,我的gcc目录是gcc-4.8.0
3
进入gcc目录,执行:
./contrib/download_prerequisites
这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。
4
你以为这三个库自动下载了、自动make install了就没事了吗?错!
很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。
它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。
大致做法为:
1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。
2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径
3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。
5
建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。
我是在gcc-4.8.0下建立了一个名为gcc-build-4.8.0的目录,进入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc编译选项
6
强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。
比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。
网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。
调用gcc-4.8.0目录下的configure文件:
例如:
../configure--enable-checking=release--enable-languages=c,c++--disable-multilib
7
执行
../make#不解释
执行编译命令(#在8核的虚拟机上进行编译,每个核分配2个编译任务)
make-j16
make install编译过程CPU核基本100%占用,整个编译用时11分50秒。
检查gcc版本
#你就等吧少年,建议晚上睡觉前做
当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,baidu、google一下为什么。
如果你求稳的话,可以在make install之前先make check一下。
CentOS 6.2系统安装和基本软件环境配置
一、安装CentOS6.2系统
1、选择Desktop进行安装
注:如果修改了主机名,则需要在/etc/hosts文件中增加设置的主机名
2、ssh安全设置(配置文件:/etc/ssh/sshd_config):
1)更改默认22端口:去掉 Port的注释,改成如:22123
2)禁止root账号登录:去掉PermitRootLogin yes注释,改成:PermitRootLogin no
3)新增SSH登录用户,登录成功后再su到root:
复制代码
代码如下:
# useradd xiaoma
# passwd xiaoma
然后修改ssh配置文件,最后加入:AllowUsers xiaoma
4)重启SSH服务:service sshd restart
5)更改防火墙配置,允许22123端口,加入:-A INPUT-m state–state NEW-m tcp-p tcp–dport 22123-j ACCEPT,并重启防火墙生效:service iptables restart
二、软件环境配置
1、安装编译环境:
复制代码
代码如下:
# yum install gcc gcc-c++
注:代理上网,命令行:export http_proxy=
2、安装一些必备的库
复制代码
代码如下:
# yum install ncurses-devel zlib-devel libjpeg* libpng* freetype*
注:ncurses-devel–编译安装mysql5.5时需要
zlib-devel–编译安装httpd需要
libjpeg*、libpng*、freetype*–编译安装php需要
3、安装clamAV杀毒软件
复制代码
代码如下:
# tar xzf clamav-0.97.4.tar.gz
# cd clamav-0.97.4
#./configure--prefix=/usr/local/clamav--disable-clamav
# make
# make install
# groupadd clamav
# useradd-g clamav clamav
# chown-R clamav.clamav/usr/local/clamav
操作示例:
1)更新病毒库:bin/freshclam(需要修改etc/freshclam.conf文件把Example行注释掉)
2)扫描指定的目录:bin/clamscan–bell-i-r/usr/local
4、安装JDK
复制代码
代码如下:
# chmod+x jdk-6u33-linux-i586.bin
#./jdk-6u33-linux-i586.bin
# mv jdk1.6.0_33//usr/local
设置JDK环境变量,/etc/profile文件中最后加入如下配置:
复制代码
代码如下:
JAVA_HOME=/usr/local/jdk1.6.0_33
export JAVA_HOME
export PATH=/usr/local/mysql5/bin:$JAVA_HOME/bin:$PATH
然后更新环境变量使之生效:
复制代码
代码如下:
# source/etc/profile
查看安装的java版本:
复制代码
代码如下:
# java-version
5、安装Mysql5.5(mysql5.5需要cmake编译,需要先安装cmake)
复制代码
代码如下:
# tar xzf cmake-2.8.7.tar.gz
# cd cmake-2.8.7
#./configure
# make make install
# mkdir-p/usr/local/mysql5
# groupadd mysql
# useradd-g mysql mysql
# chown mysql.mysql-R/usr/local/mysql5
# tar xzf mysql-5.5.19.tar.gz
# cd mysql-5.5.19/
# cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5-DMYSQL_UNIX_ADDR=/usr/local/mysql5/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/usr/local/mysql5/data-DMYSQL_USER=mysql-DMYSQL_TCP_PORT=3306
# make
# make install
配置Mysql,进行如下操作:
复制代码
代码如下:
# cp support-files/my-medium.cnf/etc/my.cnf
# chmod 755 scripts/mysql_install_db
# scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql5--datadir=/usr/local/mysql5/data
# cp support-files/mysql.server/etc/init.d/mysql
# chmod 755/etc/init.d/mysql
# chkconfig mysql on
启动mysql并设置root账号密码:
复制代码
代码如下:
#/etc/init.d/mysql start或 service mysql start
#/usr/local/mysql5/bin/mysqladmin-uroot password'root'
加入环境变量,在/etc/profile文件中最后加入:
复制代码
代码如下:
export PATH=/usr/local/mysql5/bin:$PATH
修改默认的mysql最大连接数(默认只有151),打开/etc/my.cnf文件,在[mysqld]的下面加入:max_connections=1000,然后重启mysql即可生效,查看最大连接数:
复制代码
代码如下:
mysqlshow VARIABLES LIKE'%conn%';
6、安装httpd
复制代码
代码如下:
# tar xzf httpd-2.2.21.tar.gz
# cd httpd-2.2.21/
# cd srclib/apr
#./configure--prefix=/usr/local/apr
# make
# make install
# cd../apr-util
#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
# make
# make install
# cd../..
#./configure--prefix=/usr/local/apache2--enable-so--enable-mods-shared=all--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--enable-dav--enable-proxy--enable-proxy-ajp
# make
# make install
启动httpd并访问进行测试(注意iptables需要打开80端口):
复制代码
代码如下:
#/usr/local/apache2/bin/apachectl start
如果需要禁止对某个目录的访问,可以在该目录下新建.htaccess文件,并输入如下内容:
复制代码
代码如下:
order allow,deny
deny from all
7、安装php
复制代码
代码如下:
# tar xzf libxml2-2.7.5.tar.gz
# cd libxml2-2.7.5
#./configure--prefix=/usr/local/libxml2
# make
# make install
# cd..
# rpm-qa php
# rpm-e--nodeps--allmatches php-5.1.6-27.el5
# tar xzf php-5.3.1.tar.gz
# cd php-5.3.1
#./configure--prefix=/usr/local/php5--with-libxml-dir=/usr/local/libxml2/--with-mysql=/usr/local/mysql5/--with-apxs2=/usr/local/apache2/bin/apxs--with-mbstring--enable-mbstring=all--with-gd
# make
# make install
# cp php.ini-production/usr/local/php5/lib/php.ini
修改httpd.conf文件:
1)在AddType application/x-gzip.gz.tgz之后加一行:AddType application/x-httpd-php .php
2)在DirectoryIndex index.html后加入index.php
重启httpd后即可使php生效!
8、安装Tomcat7
复制代码
代码如下:
# unzip-q apache-tomcat-7.0.23.zip
# mv apache-tomcat-7.0.23 tomcat-7
配置tomcat的虚拟主机,打开conf/server.xml配置文件,加入如下段(多个则加入多个如下段即可):
复制代码
代码如下:
Host name="www." appBase="webapps"
unpackWARs="true" autoDeploy="true"
Aliaschinapis.com/Alias
Context path="" docBase="/webapps/www."/
/Host
配置完tomcat后,还需要配置apache的虚拟主机文件(conf/extra/httpd-vhosts.conf):
复制代码
代码如下:
VirtualHost*:80
DocumentRoot"/kington/webapps/chinapis"
ServerName www.
ServerAlias
ErrorLog"|/usr/local/apache2/bin/rotatelogs/usr/local/apache2/logs/_%Y-%m-%d_error_log 86400 480"
CustomLog"|/usr/local/apache2/bin/rotatelogs/usr/local/apache2/logs/_%Y-%m-%d_access_log 86400 480" common
ProxyPass/images/!
ProxyPass/styles/!
ProxyPreserveHost On
ProxyPass/ ajp://localhost:8009/
ProxyPassReverse/ ajp://localhost:8009/
/VirtualHost
上述配置中的说明如下:
1)ErrorLog和CustomLog配置了日志文件的轮询时间(86400表示秒是一天,480是时区的偏移)
三、常见问题
1、编译安装php时遇到:configure: error: libpng.(a|so) not found,首先安装各个依赖组件(libjpeg、libpng、freetype),然后做如下处理:
复制代码
代码如下:
# ln-s/usr/lib64/libjpeg.so/usr/lib/
# ln-s/usr/lib64/libpng.so/usr/lib/
2、解压bin格式的jdk时候报错:/lib/ld-linux.so.2: bad ELF interpreter,需要安装一些缺少的文件:
复制代码
代码如下:
# yum install ld-linux.so.2
概述一下,centos与redhat的区别和优缺点
CentOS是一种基于Red Hat企业级操作系统代码(RHEL)构建的操作系统,因此它与Red Hat具有许多共同之处。但是,它们之间有一些主要区别:
1.支持:Red Hat是一种商业操作系统,需要订阅才能获得支持和更新。CentOS则是一个社区版的发行版,完全免费,并不需要购买订阅或付费支持计划。
2.更新:Red Hat一般会在发布后的数年内提供更新和支持,而CentOS的重要更新则可能要比相应的RHEL版本稍晚一些。
3.品质保证:Red Hat是一种经过广泛测试和验证的操作系统,而CentOS则更加注重稳定性和可靠性。
4.应用场景:Red Hat更适合高性能、高安全性和商业关键任务。CentOS则更适合个人使用、中小型企业、组织以及一些开发人员等用户群体。
5.社区: CentOS是一个社区驱动的项目,社区用户可以对代码进行修改和分发。Red Hat则更多的是企业驱动,用户只能使用其已发布的产品。
以下是他们各自的优缺点:
Red Hat的优点:
-专业的技术支持和服务
-更长的支持周期
-一流的安全性和稳定性
-适合企业关键任务使用
Red Hat缺点:
-需要购买订阅才能获得支持和更新
-软件更新速度可能较慢
-价格相对较高
CentOS的优点:
-免费使用和更新
-非常稳定和可靠
-社区活跃,有更多的社区支持和帮助
-拥有与RHEL相似的功能和性能
CentOS的缺点:
-不提供商业支持
-更新可能比RHEL版本稍慢
-对于一些生产环境来说,不如Red Hat稳定