LAMP环境源码编译安装过程
LAMP环境源码编译安装过程
一、Apache的安装
1.1、apache软件包及依赖包准备
httpd-2.4.29.tar.bz2 apr-1.6.3.tar.gz apr-util-1.6.1.tar.bz2 pcre-8.10.tar.gz 这三个依赖包安装时最好指定安装路径,在安装httpd的时候需要指定依赖包的安装位置。
这些软件可以下载到/usr/local/src.解压之后在进行安装。安装路径一般放在/usr/local/下。
1.2、安装环境准备。
命令:yum -y install gcc gcc-c++ make
安装依赖包:
apr-1.6.3.tar.gz
[root@server1 src]# tar -xvpzf apr-1.6.3.tar.gz
[root@server1 src]# cd apr-1.6.3/
[root@server1 apr-1.6.3]# ./configure --prefix=/usr/local/apr && make && make install
apr-util-1.6.1.tar.bz2
[root@server1 src]# tar -xvpjf apr-util-1.6.1.tar.bz2
[root@server1 src]# cd apr-util-1.6.1/
[root@server1 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util && make && make install
pcre-8.10.tar.gz
[root@server1 src]# tar -xvpzf pcre-8.10.tar.gz [root@server1 src]# cd pcre-8.10/
[root@server1 pcre-8.10]# ./configure --prefix=/usr/local/pcre && make && make install
1.3、apache安装过程
[root@server1 httpd-2.4.]# tar -xvpjf httpd-2.4..tar.bz2
[root@server1 src]# cd httpd-2.4./
[root@server1 httpd-2.4.]# ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre && make && make install
1.4、将apache的命令放到环境变量中,是的apache的命令可以直接执行,复制apache的控制脚本,使得控制命令常规化。修改控制脚本文件,使其可以使用。
ln -s /usr/local/httpd/bin/* /usr/sbin/ #将安装路径/usr/local/httpd/bin/下的所有命令创建一个软链接到环境变量/usr/sbin/
cp -a /usr/local/httpd/bin/apachectl /etc/init.d/httpd #将脚本控制文件拷贝到/etc/init.d/下并命名为httpd,一般我们可以通过/etc/init.d/httpd restart/start/stop来控制httpd服务的重启等。
3 chmod +x /etc/init.d/httpd #赋予执行权限
4 vim /etc/init.d/httpd
1.5、修改apache主配置文件/usr/local/httpd/conf/httpd.conf。
1.6、启动httpd服务,并配置为开机启动。
1.7、查看httpd服务是否已经启动。
httpd服务正在运行!Apache安装完成!
1.8、客户端测试访问html页面。
在网页根目录下创建一个index.html的主页文件。
[root@server1 httpd-2.4.]# cat <<END> /usr/local/httpd/htdocs/index.html
> <font color=red><h1>欢迎来到刺激战场,飞机就要起飞了,请准备。
> <font color=blue><h1>哎呀妈呀!落地成盒了!
> END
[root@server1 httpd-2.4.]#
以上命令是通过输出重定向和输入追加重定向的方式将html脚本语言写入到index.html文件中。
客户端访问网页:
二、myql安装过程
2.1、准备环境和安装依赖包
命令:
yum -y install cmake make gcc gcc-c++ perl ncurses-devel openssl-devel bison-devel libaio libaio-devel
mysql源码包下载地址:
https://downloads.mysql.com/archives/get/file/mysql-5.7.27.tar.gz
2.2、编译安装mysql
现将下载好的mysql源码包上传到linux服务器,或者直接用wget进行下载。
命令:
wget https://downloads.mysql.com/archives/get/file/mysql-5.7.27.tar.gz
我一般将安装包下载到/usr/lcoal/src/目录中。
源码包解压:
命令:
tar -xf mysql-5.7.27.tar.gz
开始编译安装
编译命令:
[root@node3 src]# cd mysql-5.7./
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE= -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_MEMORY_STORAGE_ENGINE= -DWITH_READLINE= -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DMYSQL_TCP_PORT= -DENABLED_LOCAL_INFILE= -DWITH_PARTITION_STORAGE_ENGINE= -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]# make && make install
[root@node3 mysql-5.7.]#
创建运行mysql的用户
命令:
[root@node3 local]# useradd mysql -s /sbin/nologin #创建用户mysql,并制定shell为/sbin/nologin,这样mysql这个用户就不能被用于登录linux系统
[root@node3 local]# id mysql #查看mysql用户信息
uid=(mysql) gid=(mysql) groups=(mysql)
[root@node3 local]# chown -R mysql:mysql mysql/ #因为要用mysql这个用户运行,所以要将/usr/local/mysql的所属组和所属主改为mysql用户,mysql才有写的权限
创建logs,pids,tmp目录,用于存放日志文件,进程id文件。
命令:mkdir /usr/local/mysql/{logs,pids,tmp}
创建编辑配置文件/etc/my.cnf
为了能够直接调用mysql命令,我们需要将/usr/local/mysql/bin添加到环境变量中。编辑/etc/profile,添加“export PATH=/usr/local/mysql/bin:$PATH
数据库初始化
命令:/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/usr/local/mysql/tmp
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/usr/local/mysql/tmp
初始化完成后,最后一行会提示mysql数据库root账户的初始密码。请注意保存。也可以在mysql日志文件中查找。这里日志文件是/usr/local/mysql/logs/error.log。使用命令cat /usr/local/mysql/logs/error.log |grep password。可以找到包含密码的那一段。密码是一段乱码,无规律的。
启动脚本配置,开启mysql。
命令:mysql -uroot -pdYqXgQjrP0?#
mysql -uroot -pdYqXgQjrP0?#
修改root密码,因为这个默认密码太过复杂,无法记忆,需要将密码改为自己熟悉的密码。
命令:mysqladmin -uroot -pdYqXgQjrP0?# password "123456"
mysqladmin -uroot -pdYqXgQjrP0?# password ""
四、安装时遇到的问题
4.1、cmake编译时报以下错误
问题描述:高版本mysql需要boots库的安装才可以正常运行
解决办法是:
1.在/usr/local下创建一个名为boost的文件夹
mkdir -p /usr/local/boost
2.进入这个新创建的文件夹然后下载boost
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz3.解压
tar -xvzf boost_1_59_0.tar.gz
注意:解压时会会有个子目录boost,需要将子目录boost中的内容拷贝到/usr/local/boost/,不然你解压后的内容在/usr/local/boost/boost/目录下,这样你在下面的需要将“-DWITH_BOOST=/usr/local/boost”改为“-DWITH_BOOST=/usr/local/boost/boost”
4.编译安装时加上"-DWITH_BOOST=/usr/local/boost"。
这样编译时就不会报这个错了。
编译命令:
[root@node3 src]#
[root@node3 src]# cd mysql-5.7./
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE= -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_MEMORY_STORAGE_ENGINE= -DWITH_READLINE= -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT= -DENABLED_LOCAL_INFILE= -DWITH_PARTITION_STORAGE_ENGINE= -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]# make && make install
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]#
[root@node3 mysql-5.7.]#
命令中的红色字体就是解决这个报错的关键。但是必须要有这个目录/usr/local/boost的存在。
LAMP环境源码编译安装过程的更多相关文章
- LAMP架构—源码编译安装 (爱情受过伤,为爱跳过鸭绿江)
LAMP架构--源码编译安装 1.LAMP架构概述 2.编译安装Apache httpd 服务 3.编译安装mysql 服务 4.编译安装PHP 解析服务 5.利用LAMP搭建论坛 1.LAMP架构概 ...
- centos6.5环境源码编译安装mysql5.6.34
centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...
- CentOS6.5下搭建LAMP环境(源码编译方式)
CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...
- LAMP环境 源码包安装
linux的学习很早就开始了,大学的时候的时候有有学过unix,后来每年都有去看看linux,因为在小城市的缘故,很少会实际工作中用到,基本都是智慧云之类的,同事也说,你学起来也用不上,IT生态不好, ...
- Linux环境源码编译安装SVN
zhoulf 2015/2/28 原创 安装说明 安装环境:Red Hat Enterprise Linux 安装方式:源码安装 软件:apr-1.5.0.tar.gz.apr-iconv-1.2.1 ...
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- Httpd服务进阶知识-LAMP源码编译安装
Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理 ...
- centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版
zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...
- centos7源码编译安装lamp/lnmp
centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...
随机推荐
- 【翻译】Flink Table Api & SQL —— Overview
本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/ Flink Table Api & ...
- window10 phpstudy2018 mysql服务重启之后自动停止
使用phpstudy集成环境开发php,但是可能版本太旧,导致有些语法用不了.所以决定删掉,再下一个新版的. 把phpstudy退出之后,就直接把phpstudy文件夹删除了.发现它并不能删除成功.然 ...
- flask,scrapy,django信号
简介 Django.Flask.scrapy都包含了一个“信号分配器”,使得当一些动作在框架的其他地方发生的时候,解耦的应用可以得到提醒. 通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒 ...
- 多生产者多消费者(第二种方式2.1)基于BlockingQueue
public class Producer implements Runnable { //静态变量只初始化一次 private static AtomicInteger count = new At ...
- Tomcat logs文件夹下不同文件的意义
tomcat每次启动时,自动在logs目录下生产以下日志文件,按照日期自动备份 localhost.2016-07-05.txt //经常用到的文件之一 ,程序异常没有被捕获的时候抛出的地 ...
- Linux忘记root密码操作方法
此方法为:进入单用户模式,直接修改新密码覆盖掉以前的root密码. 操作步骤: 1.进入单用户模式 2.修改root密码 1.进入单用户方法: 1)启动Linux时,通过按上下键(其他键也可以)让Li ...
- Go 参数传递
Go参数传递 在面试中,经常会被问起,这门语言的参数传递是值传递还是引用传递,当然,大部分情况下我们都会提前准备,有恃无恐,但还是希望能够精益求精嘛,所以针对Go语言来分析,Go传参是值传递还是引用传 ...
- 数据结构与算法(Python)
数据结构与算法(Python) Why? 我们举一个可能不太恰当的例子: 如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器. 那么数据结构和算法是什么?答曰 ...
- MOOC web前端开发笔记(二)
HTML HTML概述 HTML(HyperText MarkUp Language) "超文本标记语言",以标签的形式规定网页结构,它是制作网页的标准语言 HTML不区分大小写 ...
- c#中冒泡排序算法描述
int temp = 0; int b = 0; int[] arr = { 23, 44, 66, 76, 98, 11, 3, 99, 7 };# region该段与排序无关Console.Wri ...