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服务

访问网址成功

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux编译安装软件通常涉及以下步骤: 1. 下载源代码:在官方网站或其他适当的来源上获取软件的源代码压缩包。通常,这些压缩包以`.tar.gz`或`.tar.bz2`的形式提供。 2. 解压源代码:使用命令行工具(如`tar`)解压源代码压缩包。例如,对于`.tar.gz`格式的压缩包,可以使用以下命令: ``` tar -zxvf filename.tar.gz ``` 3. 进入源代码目录:解压后,使用`cd`命令进入源代码所在的目录。例如: ``` cd source_code_directory ``` 4. 配置编译选项:有些软件需要在编译之前进行配置,以根据你的系统环境进行适当的设置。通常,在源代码目录中可以找到一个名为`configure`的脚本,可以使用它来配置编译选项。例如: ``` ./configure ``` 5. 编译软件:运行编译命令,将源代码编译成可执行文件。通常,可以使用`make`命令来执行编译过程。例如: ``` make ``` 6. 安装软件:完成编译后,使用管理员权限(通常是使用`sudo`命令)运行安装命令,将编译后的文件复制到系统目录中。通常,可以使用`make install`命令来执行安装过程。例如: ``` sudo make install ``` 请注意,不同的软件可能有特定的编译安装要求,请查阅软件的官方文档或 README 文件,以获取详细的编译安装说明。此外,有些 Linux 发行版可能提供软件包管理器,可以更方便地安装软件,你可以优先考虑使用包管理器来获取和安装软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值