linux编译安装

Linux编译安装主要体现在提高软件性能、‌自由度高、‌更新方便、‌系统兼容性好以及学习成本低等方面。‌

实验:使用编译安装安装一个lamp架构

编译安装

下载需要的编译环境

[root@node1 ~]# yum -y install bzip2  vim make wget openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ libxml2-devel
 apr包

将apr软件包解压后更改配置文件

[root@node1 apr-1.7.0]# cd ..
[root@node1 software]# ls
apr-1.7.0  apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.54.tar.gz

进入 apr-1.7.0中configure 配置文件 删掉$RM "$cfgfile"

安装apr,将他放到/usr/local/apr

安装完成对他进行编译

[root@node1 apr-1.7.0]# make

进行编译安装

[root@node1 apr-1.7.0]# make install
 apr-util

第二个安装apr-util-1.6.1.tar.gz,与上同理

[root@node1 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util \
> --with-apr=/usr/local/apr     // 将他与apr关联

使用make进行编译,再使用make install进行编译安装

apache

与上同理,设置参数

[root@node1 software]# cd httpd-2.4.54/
[root@node1 httpd-2.4.54]# ./configure --prefix=/usr/local/apache \
> --sysconfdir=/etc/httpd24 \
> --enable-so \
> --enable-ssl \
> --enable-cgi \
> --enable-rewrite \
> --with-zlib \
> --with-pcre \
> --with-apr=/usr/local/apr \
> --with-apr-util=/usr/local/apr-util/ \
> --enable-modules=most \
> --enable-mpms-shared=all \
> --with-mpm=prefork

使用make进行编译,再使用make install进行编译安装

启动apache,此时没有配置环境变量

[root@node1 apache]# /usr/local/apache/bin/apachectl start
[root@node1 apache]# 

访问apache

 mysql
useradd -r -M -s /sbin/nologin mysql  //创建一个mysql用户 不让他登录

安装mysql需要的依赖包

[root@node1 software]# yum -y install libncurses*

将mysql安装到指定目录下

[root@node1 software]# tar -xzvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local

配置mysql

[root@node1 local]# ln -sn mysql-5.7.37-linux-glibc2.12-x86_64/ mysql  //给mysql创建一个软链接
[root@node1 local]# ls
apache    bin    include  libexec                              sbin
apr       etc    lib      mysql                                share
apr-util  games  lib64    mysql-5.7.37-linux-glibc2.12-x86_64  src
[root@node1 local]# chown -R mysql.mysql /usr/local/mysql      // 更改所属主属组
[root@node1 local]# mkdir -p /opt/data     // 创建mysql存放数据的目录
[root@node1 local]# chown -R mysql.mysql /opt/data/   // 更改所属主属组
[root@node1 local]# 

对mysql进行初始化,在此之前需要下载libaio

[root@node1 local]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data/

配置数据库

[root@node1 local]# vim /etc/my.cnf
[root@node1 local]# cat /etc/my.cnf 
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
[root@node1 local]# 

配置服务启动的文件

[root@node1 support-files]# pwd
/usr/local/mysql/support-files
[root@node1 support-files]# vim mysql.server 

// 更改其中的两个地方

basedir= /usr/local/mysql     // 工作目录
datadir=/opt/data             // 数据存放目录

二进制安装没有配置systemctl restart 启动,手动编辑一个

[root@node1 support-files]# cat /usr/lib/systemd/system/mysqld.service
[Unit]
Description=mysql server daemon
After=network.targe

[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
ExecReload=/bin/kill -HUP \$MAINPID

[Install]
WantedBy=multi-user.target
[root@node1 support-files]# 

此时就可以使用

[root@node1 support-files]# systemctl restart mysqld
[root@node1 support-files]# systemctl enable mysqld

给mysql设置一个环境变量

vim /etc/profile 
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH   // 把它添加进去

设置mysql的密码

[root@node1 support-files]# mysql -u root -e "set password=password('linux')"
php

安装php所需要的依赖包

[root@node1 ~]# yum -y install wget gcc gcc-c++ autoconf automake libtool make libxml2 libxml2-devel openssl openssl-devel sqlite-devel libpng libpng-devel libpsl libpsl-devel libicu-devel libcurl-devel

 编译安装前会报错,就先把这些依赖包装好。

yum install openldap openldap-devel  -y
cp -frp /usr/lib64/libldap* /usr/lib/
yum install oniguruma oniguruma-devel -y
yum --enablerepo=devel -y install oniguruma-devel

配置编译安装php

./configure --prefix=/usr/local/php \
	--with-apxs2=/usr/local/apache/bin/apxs \
	--with-mysql-sock=/tmp/mysql.sock \
	--enable-fpm \
	--enable-mysqlnd \
	--enable-mysqlnd-compression-support \
	--with-zlib \
	--enable-xml \
	--disable-rpath \
	--enable-bcmath \
	--enable-shmop \
	--enable-sysvsem \
	--enable-mbregex \
	--enable-mbstring \
	--enable-intl \
	--enable-ftp \
	--enable-gd-jis-conv \
	--with-openssl \
	--with-mhash \
	--enable-pcntl \
	--enable-sockets \
	--enable-soap \
	--with-gettext \
	--enable-fileinfo \
	--enable-opcache \
	--with-pear \
	--with-ldap=shared \
	--without-gdbm \
	--with-curl \
	--enable-ctype \
	--without-pear  --disable-phar

使用make进行编译,再使用make install进行编译安装

配置php

#测试环境时使用php.ini-development文件,生产环境使用php.ini-production文件
cp php.ini-development /usr/local/php/lib/php.ini

将/usr/local/php/lib/php.ini 中的时区修改成Asia/Shanghai

#修改httpd服务配置文件,让apache支持php

将  AddType application/x-httpd-php-source .phps
    AddType application/x-httpd-php .php
添加到/etc/httpd24/httpd.conf
默认网页加上index.php  

写一个新的网页

[root@node1 htdocs]# pwd
/usr/local/apache/htdocs
[root@node1 htdocs]# cat index.php 
<?php
        phpinfo();
?>
[root@node1 htdocs]# 
重启apache服务

访问网址成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值