centos7.3源码安装常用软件及相关配置合集

之前在开发过程中,都是使用 yum 或者宝塔的方式直接安装相关的软件,都是一些比较傻瓜式的操作,所以想对常用的开发软件有个比较深入的理解,所以最近用源码安装的方式重新搭建了一下开发环境,折腾一下,对于学习还是有所帮助的,在此记录一下相关操作。

 

nginx 源码安装

1. 使用 wget 获取 nginx 源码

先使用命令创建 nginx 文件夹
mkdir /usr/local/nginx && cd /usr/local/nginx

再使用 wget 获取 nginx 源码,下载 1.16.1 版本
wget http://nginx.org/download/nginx-1.16.1.tar.gz

 

centos7.3源码安装及相关配置合集
 

 

2. 安装 nginx 依赖包

yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

3. 解压压缩包

tar -zxvf nginx-1.16.1.tar.gz

4. 编译安装 nginx

cd nginx-1.16.1 && ./configure --prefix=/usr/local/nginx

 

centos7.3源码安装及相关配置合集
 

 

编译安装
make && make install

 

centos7.3源码安装及相关配置合集
 

 

5. 检查配置文件时否正确、查看版本

/usr/local/nginx/sbin/nginx -t

centos7.3源码安装及相关配置合集
 

 

/usr/local/nginx/sbin/nginx -V

 

centos7.3源码安装及相关配置合集
 

 

6. 启动 nginx

/usr/local/nginx/sbin/nginx

通过 ps -ef | grep nginx 查看 nginx 已成功启动

 

centos7.3源码安装及相关配置合集
 

 

通过浏览器直接访问 ip

 

centos7.3源码安装及相关配置合集
 

 

7. 其他配置

添加 nginx 环境变量

在 /etc/profile 文件末尾添加 export PATH=$PATH:/usr/local/nginx/sbin
再执行 source /etc/profile 命令,执行 nginx -t 查看环境变量是否生效

 

centos7.3源码安装及相关配置合集
 

 

 

php 源码安装

1. 使用 wget 获取 php 源码

先使用命令创建 php 文件夹
mkdir /usr/local/php && cd /usr/local/php

再使用 wget 下载 php7.2 源码

wget https://www.php.net/distributions/php-7.2.34.tar.gz

 

centos7.3源码安装及相关配置合集
 

 

2. 安装 php 所需依赖

yum -y install libxml2* openssl* libcurl* libjpeg* libpng* freetype* libmcrypt*

3. 解压 php 压缩包

tar -xzvf php-7.2.34.tar.gz

4. 编译安装 php

进入 php 目录
cd php-7.2.34

php 的安装目录指定,安装 php 的一些模块
./configure --prefix=/usr/local/php --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo

 

centos7.3源码安装及相关配置合集
 

 

配置完成后会提示: Thank you for using PHP.

编译和安装 php
make && make install

 

centos7.3源码安装及相关配置合集
 

 

5. 添加配置文件

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

6. 启动 php-fpm

/usr/local/php/sbin/php-fpm

如果直接启动的话,会报错,报错信息为没有 www 用户,所有需要创建

 

centos7.3源码安装及相关配置合集
 

 

创建 www 用户

useradd www

usermod -G www www

再执行 /usr/local/php/sbin/php-fpm 命令,没有报错

再通过 ps -ef | grep php 查看进程是否存在

 

centos7.3源码安装及相关配置合集
 

 

7. 其他配置

添加环境变量,在 /etc/profile 文件末尾追加 export PATH=$PATH:'/usr/local/php/bin/'

然后执行 source /etc/profile 使修改生效

再命令中使用 php -v,显示 php 版本则环境变量生效

 

centos7.3源码安装及相关配置合集
 

 

添加 php 配置文件
cp /usr/local/php/php-7.2.34/php.ini-development /usr/local/php/etc/php.ini

修改 nginx.conf 配置文件,在 server 代码中添加以下信息

location ~ \.php$ {
            root           /www/test;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root;
            include        fastcgi_params;
        }

重启 nginx 服务

使用命令创建目录 mkdir /www/test

在该目录下创建 index.php 文件,文件内容为

<?php 
phpinfo();
?>

通过浏览器访问 index.php, 发现出错,无权限访问

 

centos7.3源码安装及相关配置合集
 

 

查看 nginx 错误日志 cat /usr/local/nginx/logs/error.log

 

centos7.3源码安装及相关配置合集
 

 

php.ini 配置文件中,设置 cgi.fix_pathinfo=1

重载 php 服务,并重新启动 nginx

使用浏览器访问,可成功访问到页面,表示 nginx 收到请求已转发给 php-fpm 处理

 

centos7.3源码安装及相关配置合集
 

 

 

php 扩展源码安装

以 swoole 扩展为例

1. 获取 swoole 扩展源码
cd /usr/local/php && wget wget https://github.com/swoole/swoole-src/archive/v4.5.6.tar.gz

 

centos7.3源码安装及相关配置合集
 

 

2. 解压压缩包

tar -zxvf v4.5.6.tar.gz

3. 编译安装

进入文件目录 cd swoole-src-4.5.6

使用安装 php 时生成的 phpize 来生成 configure 配置文件 /usr/local/php/bin/phpize

执行错误 Cannot find autoconf. Please check your autoconf installation and the

 

centos7.3源码安装及相关配置合集
 

 

需要安装 autoconf, 使用命令 yum install autoconf -y

安装完成后重新执行 /usr/local/php/bin/phpize

 

centos7.3源码安装及相关配置合集
 

 

执行配置./configure --with-php-config=/usr/local/php/bin/php-config

 

centos7.3源码安装及相关配置合集
 

 

安装编译 make && make install

 

centos7.3源码安装及相关配置合集
 

 

4. 修改 php.ini 配置

这里使用绝对路径,加入内容 extension=/usr/local/php/swoole-src-4.5.6/modules/swoole.so

这里遇到了个坑,php.ini 没有放对位置,使用命令 php --ini 查看 php.ini 检索位置,并把 php.ini 文件放在 /usr/local/php/lib 目录下,才会生效

 

centos7.3源码安装及相关配置合集
 

 

5. 重启 php,nginx 服务

查看 phpinfo (), 看到 swoole 扩展已开启

centos7.3源码安装及相关配置合集
 

 

 

mysql 源码安装

1. 使用 wget 获取 mysql 源码

先使用命令创建 mysql 文件夹
mkdir /usr/local/mysql && cd /usr/local/mysql

获取 mysql 源码
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.30.tar.gz

 

centos7.3源码安装及相关配置合集
 

 

2. 安装 mysql 所需依赖

yum install -y cmake libaio gcc-c++ bison-devel ncurses-devel bison perl perl-devel perl perl-devel ncurses-devel

3. 解压压缩包

添加 mysql 组及用户
groupadd mysql
useradd -r -g mysql mysql

解压压缩包
tar -zvxf mysql-boost-5.7.30.tar.gz

4. 编译安装 mysql

进行目录 cd mysql-5.7.30

cmake 编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BOOST=boost -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

设置权限
chown -R root /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data

编译安装,时间可能会比较久
make && make install

 

centos7.3源码安装及相关配置合集
 

 

5. 初始化 mysql

进入 bin 目录 cd /usr/local/mysql/bin

./mysqld --user=www --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

初始化完成,并给 root 用户生成了临时密码,这里要把密码记录下来,稍后需要使用

 

centos7.3源码安装及相关配置合集
 

 

复制 mysql 服务启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

执行 service mysqld start 启动 mysql 服务会报错

 

centos7.3源码安装及相关配置合集
 

 

因为没有路径也没有权限,所以创建此路径并授权给 mysql 用户

mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/

再次执行 service mysqld start 依然报错

 

centos7.3源码安装及相关配置合集
 

 

var/lib/mysql 目录不存在,首要先创建:
mkdir /var/lib/mysql

并添加权限为 777
chmod 777 /var/lib/mysql

删除 /etc/my.cnf 文件
rm -f /etc/my.cnf

最后执行 service mysqld start, 启动成功

 

centos7.3源码安装及相关配置合集
 

 

6. 登录 mysql

进入 mysql bin 目录 cd /usr/local/mysql/bin

执行./mysql -uroot -p 登录

 

centos7.3源码安装及相关配置合集
 

 

登录后需要修改密码

set password for root@localhost = password('123456');

centos7.3源码安装及相关配置合集
 

 

赋予权限并设置可以远程访问

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

刷新权限

FLUSH PRIVILEGES;

7. 其他配置

添加环境变量,在 /etc/profile 文件末尾追加 export PATH=$PATH:'/usr/local/mysql/bin'

然后执行 source profile

再命令中使用 mysql –version,显示 mysql 版本则环境变量生效

 

centos7.3源码安装及相关配置合集
 

 

 

redis 源码安装

1. 使用 wget 获取 redis 源码

wget http://download.redis.io/releases/redis-5.0.3.tar.gz

 

redis相关学习
 

 

2. 在 /usr/local 下新建文件夹 redis 将 redis-3.0.0.tar.gz 拷贝到 /usr/local/redis 中

mkdir /usr/local/redis && cp /root/redis-5.0.3.tar.gz /usr/local/redis/redis-5.0.3.tar.gz

3. 解压压缩包

chmod +x /usr/local/redis/redis-5.0.3.tar.gz && tar -zxvf /usr/local/redis/redis-5.0.3.tar.gz

4. 进入解压后的目录中进行编译 make

cd /usr/local/redis/redis-5.0.3 && make

 

redis相关学习
 

 

5. 完成编译后进行安装

make PREFIX=/usr/local/redis install

 

redis相关学习
 

 

安装完后会在 /usr/local/redis 下出现一个 bin 目录,bin 目录中就是我们要使用的内容

 

redis相关学习
 

 

6. 启动 redis 服务

前端模式启动服务端:./redis-server

 

redis相关学习
 

 

可以再开一个窗口启动客户端进行存储数据测试:./redis-cli

 

redis相关学习
 

 

后端模式启动服务端

启动后自动在后台运行,与 ssh 窗口是否关闭无关(需要配置)

修改 redis.conf 配置文件 redis.conf 是 redis 的配置文件,redis.conf 在 redis 源码目录。

 

redis相关学习
 

 

将 redis.conf 配置文件拷贝到 bin 目录下,切换到 bin 目录下

cp /usr/local/redis/redis-5.0.3/redis.conf /usr/local/redis/bin

 

redis相关学习
 

 

发现权限为只读,修改 redis.conf 的权限

chmod 777 redis.conf

由于配置文件中默认为前端模式启动,需手动编辑修改配置文件中内容:vi redis.conf , 找到 daemonize no

修改为 yes,即是用后端模式启动

redis相关学习
 

 

进行后端模式启动:./redis-server redis.conf

然后查看是否成功启动服务:ps -aux|grep redis

 

redis相关学习
 

 

至此,成功的采用后端模式启动了 redis 服务,无论 ssh 窗口是否关闭,服务将一直在后台自动运行

7. 停止 redis 服务

方式一:查找到执行的 redis 服务的进程号然后强制停止服务(不建议采用此方式,线上正在存储数据时采用强制关闭会丢失数据)

方式二:使用客户端工具关闭:./redis-cli shutdown

8. 其他 redis 配置

设置密码,找到 requirepass 这一行,修改为你想要的登录密码

 

redis相关学习
 

 

设置完成密码后,需要通过命令参数登录

./redis-cli -h 127.0.0.1 -p 6379 -a passwd

 

redis相关学习
 

 

这里会发出警告,表示密码不安全,也可通过直接输入./redis-cli

登入后进行密码认证,若没有密码认证,将无权限操作任何指令

 

redis相关学习
 

 

配置 redis 外网访问,首先要防火墙开启 redis 默认端口 6379

在配置文件中,修改 bind 配置为 0.0.0.0 表示所有 ip 都可以访问,当然也可以指定 ip

 

centos源码安装合集
 

 

配置完成后,重启 redis 服务

使用 redis 客户端连接工具连接 redis,可成功访问

 

centos源码安装合集
 

 

 

memcached 源码安装

1. 使用 wget 获取 memcached 源码

先使用命令创建 memcached 文件夹
mkdir /usr/local/memcached && cd /usr/local/memcached

获取 memcached 源码
wget http://www.memcached.org/files/memcached-1.6.8.tar.gz

 

centos7.3源码安装及相关配置合集
 

 

2. 安装依赖

yum -y install libevent libevent-devel

3. 解压压缩包

tar -zxvf memcached-1.6.8.tar.gz

4. 编译安装

进入文件目录 cd memcached-1.6.8

配置./configure --prefix=/usr/local/memcached --prefix=/usr/local/memcached/

 

centos7.3源码安装及相关配置合集
 

 

编译安装 make && make install

5. 启动 memcached

启动 memcached/usr/local/memcached/bin/memcached -m 10 -u root &

查看 memcached 进程 ps -ef | grep memcached

centos7.3源码安装及相关配置合集
 

 

 

node.js 二进制安装

1. 使用 wget 获取 node.js 源码

先使用命令创建 node 文件夹
mkdir /usr/local/node && cd /usr/local/node

再使用 wget 获取 node.js 源码

wget https://nodejs.org/dist/v14.15.0/node-v14.15.0-linux-x64.tar.xz

 

centos7.3源码安装及相关配置合集
 

 

2. 解压压缩包

tar -xvf node-v14.15.0-linux-x64.tar.xz

3. 配置环境

ln -s /usr/local/node/node-v14.15.0-linux-x64/bin/npm /usr/local/bin/
ln -s /usr/local/node/node-v14.15.0-linux-x64/bin/node /usr/local/bin/

4. 检查是否安装成功

node -v

npm -v

 

centos7.3源码安装及相关配置合集
 

 

 

一键安装脚本#

敬请期待!!!!

posted on 2020-10-29 14:54  科比08  阅读(205)  评论(0编辑  收藏  举报

导航