设为首页 收藏本站
查看: 604|回复: 0

[经验分享] CentOS 6 LAMP搭建,编译安装

[复制链接]

尚未签到

发表于 2018-4-24 07:46:20 | 显示全部楼层 |阅读模式




搭建准备工作:


  • CentOS 6.6

  • 服务器IP:192.168.230.202

  • 软件包位置/tmp/httpd

  • wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.25.tar.gz  ##httpd2.4.25


  • wget https://www.openssl.org/source/openssl-1.0.1u.tar.gz   ##openssl

  • https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz  ##apr  

  • https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz  ##apr-util

  • DSC0000.png

  • wget http://mirrors.163.com/.help/CentOS6-Base-163.repo ##centos6 yum源

  • rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm ##epel

  • 包组:yum groupinstall "Compatibility libraries" "Development tools"

  • 软件包 yum install gcc

  • 软件包 yum install pcre-devel pcre -y      





DSC0001.gif

  

  
  真佩服我们做了这么多准备,老天不会欺负这么勤快的孩子的
  

  开始上主菜了

  

  1、安装apr、apr-util
[root@localhost httpd]# tar -xf apr-1.5.2.tar.gz  
##解压解压
[root@localhost httpd]# tar -xf apr-util-1.5.4.tar.gz
##解压解压
cd /tmp/httpd/apr-1.5.2
./configure --prefix=/usr/local/apr1.5      
##--prefix指定安装位置
make && make install
##编译,安装                       

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr1.5
##这个是apr的工具集,它依赖于上面的那个apr, 所以加上--with来指定我们安装apr的目录。
make && make install
##编译,安装  

  2、安装openssl
  

[root@localhost httpd]# tar xf openssl-1.0.1u.tar.gz
[root@localhost httpd]# cd openssl-1.0.1u
[root@localhost openssl-1.0.1u]# ./config --prefix=/usr/local/openssl1u -fPIC  
##-fPIC 经过多次测试,如果不加,在装HTTPD2.4的时候,会出现报错
[root@localhost openssl-1.0.1u]# make && make install  

  

##导出库文件,新建/etc/ld.so.conf.d/openssl1u.conf文件。    https会用到新版本的库文件。
##添加/usr/local/openssl1u/lib
ldconfig
ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig。 ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.
往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到   DSC0002.png
  

  

  

  三、安装httpd2.4 DSC0003.gif
[root@localhost httpd]# tar xf httpd-2.4.25.tar.gz  
[root@localhost httpd]# cd httpd-2.4.25
[root@localhost httpd-2.4.25]#./configure --prefix=/usr/local/httpd2.4 --sysconfdir=/etc/httpd2.4 --enable-so --enable-ssl --enable-rewrite --enable-cgi --with-zlib --with-pcre --with-apr=/usr/local/apr1.5/ --with-apr-util=/usr/local/apr-util/ --with-ssl=/usr/local/openssl1u/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event
make && make install
--sysconfdir 配置文件目录   
-enable-so 开启DSO动态装卸shared模块   
--enable-ssl https的功能  
--enable-rewrite 地址重写   
--enable-cgi CGI脚本功能  
--with-zlib 压缩功能的函数库   
--with-pcre  perl库    刚才安装的软件的目录   
--enable-modules=most 编译常用的模块  
--enable-mpms-shared=all 所有的动态模块  后面这个默认挂载MPM模块event.  

  

  

  

  

  杂项
    (1)去httpd的安装目录看一下结果。  一切OK的话就可以下面的了。
    (2 ) 把httpd的头文件符号链接到/usr/include      #不是必须的,怕以后有软件会用。
  [root@localhost httpd-2.4.25]# ln -s /usr/local/httpd2.4/include/ /usr/include/httpd2.4
  

  

       ( 3 ) 新建/etc/profile.d/httpd2.4.sh文件,添加进PATH变量。
vim /etc/profile.d/httpd2.4.sh
export PATH=/usr/local/httpd2.4/bin:$PATH  
#写入文件内容,执行一个source      
执行source命令:
source /etc/profile.d/httpd2.4.sh
##文件内容
echo $PATH   DSC0004.png

  

  

   ( 4 )编辑/etc/httpd2.4/httpd.conf
  

[root@localhost httpd2.4]# grep rex /etc/httpd2.4/httpd.conf

  ServerName www.rex.com:80
  ##ServerName 把原本的#ServerName www.example.com:80改成自己想要的域名并删掉#
[root@localhost httpd2.4]# /usr/local/httpd2.4/bin/apachectl start

[root@localhost httpd2.4]# curl 127.0.0.1

  <html><body><h1>It works!</h1></body></html>
  

DSC0005.gif It works!

  

  (5) 来个服务脚本,可以用service来启动关闭。
为了避免麻烦,直接把原来的httpd的服务脚本复制一下,改吧改吧。
  

  
[root@localhost httpd2.4]# cp /etc/init.d/httpd /etc/init.d/httpd24

[root@localhost httpd2.4]# vim /etc/init.d/httpd24

  ##表示区别,我们服务名叫httpd24
  
41行开始
apachectl=/usr/local/httpd2.4/bin/apachectl
httpd=${HTTPD-/usr/local/httpd2.4/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/var/run/httpd2.4/httpd2.4.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd2.4}
RETVAL=0
STOP_TIMEOUT=${STOP_TIMEOUT-10}  

  把原来的目录改成我们编译安装后的目录
  pid待会要去创建
DSC0006.png

  

[root@localhost httpd2.4]# mkdir /var/run/httpd2.4

[root@localhost httpd2.4]# chmod 700 /var/run/httpd2.4

  创建进程文件夹并修改权限
  [root@localhost httpd2.4]# vim /etc/httpd2.4/httpd.conf
32行里面加入:
pidFile "/var/run/httpd2.4/httpd2.4.pid"
  

   DSC0007.png
  

  

  图上已经能这能正常使用service XXX start了
  并且有对应的pid号

  

  最后,我们再编译个开机启动
  

  
[root@localhost httpd2.4]# chkconfig --add httpd24

[root@localhost httpd2.4]# chkconfig httpd24 on

  ##httpd24开机自启动
[root@localhost httpd2.4]# chkconfig --list httpd24

  httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
  

  

  
  

  Mariadb
  

   wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.1.20/source/mariadb-10.1.20.tar.gz
  

  官网下载Mariadb包,59M
  

  yum -y install gcc gcc-c++ make cmake ncurses ncurses-devel libxml2 libxml2-devel openssl-devel bison bison-devel
  

  yum安装需要的包文件
  

  不然待会安装会报错
  

  

DSC0008.png

  解压,并进入目录
  

  

  

然后我们执行以下指令对源码包进行预处理:
cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql    \
-DMYSQL_DATADIR=/usr/local/mysql/data    \
-DSYSCONFDIR=/etc   \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci


配置中指定了安装路径、数据库路径、配置文件路径等参数。等配置结束后可以使用 echo $? 查看返回值确定是否配置成功。我在编译时便遇到了一个名为 ncurses-devel 的依赖包没有安装,具体信息请阅读错误提示。等我用yum源安装好后发现无法继续cmake了,只好删除后重新解压源码包才配置成功的。好了 一切没问题了就开始 make && make install 吧!
# make  &&  make  install


DSC0009.png

  

DSC00010.png

  

  
由于源码包比较大,解压后我统计了下,竟然291M,天啊这可得慢慢等待了。我花费了一个多小时才编译完成的,也是够慢了。
编译安装完成后会生成 /usr/local/mysql 这样一个文件夹,如果选用了直接解压二进制包,就把它解压到 /usr/local 中。我们进入这个文件夹中看看
bin          这个目录存放着mysql的服务器和客户机程序,我们应该添加到环境变量
data        这个文件夹就是数据库目录
include        这里存放着mysql开发用的函数头文件,可以被其他源码包编译时依赖
lib        Mysql运行需要的运行库
scripts         Mysql初始化数据库的脚本,更改数据库目录后也需要进行初始化
man      Mysql是使用手册,需要让man命令识别这个路径才能使用
support-files       其中存放着Mysql的配置文件模板和服务控制脚本等文件
Mysql的配置文件为 /etc/my.cnf ,数据库目录为 /usr/local/mysql/data

DSC00011.png
  


接下来就开始部署这些文件,然后让Mysql启动起来吧!首先建立mysql用户和组,并不创建家目录,不允许登陆系统
# useradd  -M  -s  /sbin/nologin  mysql
-M不创建家目录
-s 知道使用shell
设置mysql安装目录的属主和属组
# chown  -R  mysql:mysql  /usr/local/mysql/
给数据库目录可读可写的权限
# chmod  777  -R  /usr/local/mysql/data/
复制配置文件和服务控制脚本到相应位置
# cp /usr/local/mysql/support-files/my-huge.cnf   /etc/my.cnf
# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld


DSC00012.png
编辑配置文件/etc/my.cnf,添加:
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
DSC00013.png
指定安装目录和数据库目录就可以了,其他参数先不用管。


接下来就可以初始化数据库了
# cd  /usr/local/mysql
# scripts/mysql_install_db --user=mysql
所示就代表成功了,可以用 echo $? 查看返回值


DSC00014.png

DSC00015.png



现在就可以启动Mysql数据库服务了 它的启动命令是mysqld
# service  mysqld  start
然后出现大写的 " SUCCESS "就代表启动成功了,然后用netstat看看它监听的端口吧!
# netstat  -anpt  |  grep  mysqld
我们发现它默认监听在 TCP 的" 3306 "端口


环境变量配置下
# echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh
# source  /etc/profile.d/mysql.sh
配置好后,可以在任意目录下使用mysql命令,直接进到mysql shell界面


接下来就分析一下my.cnf这个配置文件的各参数意义
basedir             mysql的安装目录
datadir             数据库目录
port                 指定服务端口,默认3306 端口
server_id          pid文件路径
socket              套接字
skip-locking                   可避免mysql的外部锁定,降低系统出错几率
skip-name-resolve         禁止mysql对外部连接进行DNS解析,可节约时间
key_buffer_size              设置索引缓存区大小,合理调节这个数值可以获得更好的索引处理性能,过度调大反而降低性能。参数没有可以自己添加
sort_buffer_size              设置排序缓存区的大小 (每个连接独占)
read_buffer_size             设置查询操作缓存区的大小 (每个连接独占)
join_buffer_size              设置联合查询操作缓存区的大小 (每个连接独占)
max_connections           设置服务器最大连接进程数


DSC00016.png




mysql的root用户没有密码是非常不安全的,接下来我们为它配置一个密码。注意 要给root用户添加密码是需要启动服务的,请确保你的Mysqld服务处于运行状态
# mysqladmin  -u  root  password  "rex111"

这个mysqladmin是Mysql服务器的管理程序,可用于执行检察配置文件、检查服务状态、关闭服务器、创建数据库以及删除数据库等的系统管理操作。其格式如下:
mysqladmin    选项       参数  . . .
create     db_name           创建一个名为db_name的新数据库
debug                               将debug信息写入错误日志
drop       db_name           删除一个名为db_name的数据库
extended-status              显示服务器状态变量和他们的值
flush-hosts                       刷新缓存中的所有信息
flush-logs                         刷新所有日志信息
flush-privileges                重新载入授权表
flush-status                      清除状态变量
flush-tables                      刷新所有的表
flush-threads                   刷新线程的缓存
ping                                  显示服务器运行状态
processlist                       正在运行服务器线程的列表
password   new_password     更改密码
shutdown                         关闭服务器
start-slave                        在从服务器上启动同步
stop-slave                        在从服务器上关闭同步
-u                 root             指定用户
-h                 localhost     指定连接的主机
-p                                     指定需要输入密码






编译安装mariadb已经完成
剩下php觉得重新开一稿,不然大家看到都配置不下去了。


  我们的辛苦获得了回报。
  给自己一个like~~ DSC00017.gif
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-451107-1-1.html 上篇帖子: linux下centOS6.5下安装jdk 下篇帖子: CentOS 7 安装iTop 2.3.3
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表