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

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

设置ssh免密码登录远程服务器

由于操作需要频繁登录远程服务器,所以我这里设置了ssh免密码登录,参考将博客应用自动部署到线上服务器完整流程详解

生成私钥公钥文件

如果你的本地主机不包含 ~/.ssh/id_rsa 文件,可以通过运行如下命令生成:

ssh-keygen -t rsa

每次执行上述命令后产生的私钥文件都不同,如果 ~/.ssh/id_rsa 文件已经存在,会提示是否覆盖,选择 n 不覆盖,如果该文件不存在则会生成该文件(提示需要输入的地方都可以留空)。

运行该命令会生成 ~/.ssh/id_rsa~/.ssh/id_rsa.pub 两个文件,分别存储私钥和公钥,接下来我们通过 scp 命令将公钥文件拷贝到远程服务器的 .ssh 目录下(如果服务器上没有该目录,先创建这个目录):

scp ~/.ssh/id_rsa.pub root@your-server-ip:~/.ssh

记得将命令中的 your-server-ip 换成你的服务器公网 IP。

将公钥添加到授权KEY

登录到远程服务器,运行如下命令将公钥文件内容追加到 ~/.ssh/authorized_keys 文件:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

如果服务器上没有 ~/.ssh/authorized_keys 这个文件,可以运行如下命令将 ~/.ssh/id_rsa.pub 文件拷贝过来:

cp id_rsa.pub authorized_keys

接下来,我们在本地主机测试通过 ssh 登录远程服务器:

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

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源码安装及相关配置合集

mongodb源码安装

1.使用wget获取mongodb源码

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

再使用wget获取mongodb源码

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.7.tgz

2.解压压缩包

使用命令解压

tar -zxvf mongodb-linux-x86_64-3.2.7.tg

修改解压文件名

mv mongodb-linux-x86_64-3.2.7 mongodb

3.添加配置文件

在/usr/local/mongodb新增数据库保存目录

mkdir /usr/local/mongodb/data

在/usr/local/mongodb下新增mongodb.conf配置文件,文件内容如下

dbpath = /usr/loacl/mongodb/data
#日志文件存放目录
logpath = /usr/local/mongodb/mongodb.log
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
nohttpinterface = true

添加环境变量

export PATH=$PATH:'/usr/local/mongodb/mongodb/bin' >> /etc/profile

然后执行让环境变量生效

source /etc/profile

4.启用mongodb服务

mongod -f /etc/local/mongodb/mongodb.conf

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

说明mongodb服务已正常开启

一键安装脚本

敬请期待!!!!

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

chown -R mysql /usr/local/mysql/data

这个之前要先创建文件夹

还有 yum install openssl-devel

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!