源码安装php7.2+nginx1.12.2+mysql5.7.22 +redis4.0.10

源码安装php7.2.6+nginx1.12.2+mysql5.7.22+redis

第一步:源码安装php7.2.6

  1. yum安装一些依赖,根据自己需要安装
    yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
  2. wget下载php
wget https://www.php.net/distributions/php-7.2.6.tar.gz

解压php包:

tar  -zxvf php-7.2.6.tar.gz

进入解压后的文件:

cd php-7.2.6

编译:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl
编译完成,执行安装:

make && make install

安装完成后在安装目录 /usr/local 下会出现一个PHP的安装目录 PHP

在之前编译的源码包中,找到 php.ini-production 复制到 /usr/local/php下,并改名为php.ini

cp php.ini-production  /usr/local/php/php.ini

复制启动脚本:

cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

修改php-fpm配置文件:

cd /usr/local/php/etc
mv php-fpm.conf.default  php-fpm.conf
vim php-fpm.conf

去掉 pid = run/php-fpm.pid 前面的分号

cd php-fpm.d
cp www.conf.default www.conf
vim www.conf

修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)

启动PHP

$ /etc/init.d/php-fpm start #php-fpm启动命令

$ /etc/init.d/php-fpm stop #php-fpm停止命令

$ /etc/init.d/php-fpm restart #php-fpm重启命令

$ ps -ef | grep php 或者 ps -A | grep -i php #查看是否已经成功启动PHP

安装redis扩展
wget https://pecl.php.net/get/redis-4.0.2.tgz
tar -zxvf redis-4.0.2.tgz
yum install autoconf
cd redis-4.0.2
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

在php.ini增加扩展extension=redis.so

vim php.ini
#文件尾增加下面代码  如果无效,请使用绝对地址
extension=redis.so

重启php

/etc/init.d/php-fpm restart
php -m     #查看扩展

第二步:安装nginx1.12.2

  1. 下载源码
wget http://nginx.org/download/nginx-1.12.2.tar.gz
  1. 解压:
 tar -zxvf nginx-1.12.2.tar.gz

进入解压目录:

cd nginx-1.12.2

编译,安装:

./configure
make && make install

停止Nginx的三种方式:

# 1. 立即停止Nginx服务
/usr/local/nginx/sbin/nginx -s stop

# 2.完成当前任务后停止
/usr/local/nginx/sbin/nginx -s quit

# 3.杀死Nginx进程
killall nginx
  1. 把nginx命令添加到环境变量
    使用软连接将nginx链接到/usr/local/sbin
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
ll /usr/local/sbin/ | grep "nginx"   #查看是否指向了软连

显示当前环境变量PATH

echo $PATH

编辑.bash_profile文件

vim ~/.bash_profile

在.bash_profile文件末尾加入以下内容

export PATH=$PATH:/usr/local/nginx/sbin

在这里插入图片描述
引用.bash_profile文件

source ~/.bash_profile

使用nginx命令

# 启动nginx
nginx
# 停止nginx
nginx -s quit
# 更改配置重启
nginx -s reload

第三步:安装mysql5.7.22

  1. 安装mysql5.7以上需要安装boost1.59.0
    链接:https://pan.baidu.com/s/1MzrHhlxX1r49asCyLxWDMQ
    提取码:wsts
    解压:
tar -zxvf boost_1_59_0

进入解压目录

cd boost_1_59_0
./bootstrap.sh
./b2 install
  1. 安装mysql
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22.tar.gz

解压:

tar -zxvf mysql-5.7.22.tar.gz

卸载CentOS7默认携带的mariadb包

rpm -qa | grep -i mysql 
rpm -qa | grep -i mariadb

卸载时,发现有依赖一起卸载掉

rpm -e mariadb-libs-5.5.56-2.el7.x86_64  #具体看系统这个包的版本
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 postfix-2:2.10.1-6.el7.x86_64

先安装一些依赖库

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

创建用户组和用户

groupadd mysql
useradd -g mysql -s /sbin/nologin -M mys

编译安装:(如果缺少文件夹就自己创建)

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EMBEDDED_SERVER=1

配置:

chown -R mysql:mysql /usr/local/mysql 

添加配置文件

vi /etc/my.cnf

写入:(basedir和datadir等地址具体根据自己的来,别跟原有的重复了)

[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysql]
default-character-set=utf8

[mysqld]
user=mysql
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
character-set-server=utf8
default-storage-engine=InnoDB
max_connections=512

query_cache_size=0
tmp_table_size=18M

thread_cache_size=8
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=35M
key_buffer_size=25M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K

innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=64M
innodb_log_file_size=24M
innodb_thread_concurrency=8
#pid-file=/var/run/mysql/mysqld.pid
socket=/var/lib/mysql/mysql.sock
sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

初始化mysql

/usr/local/mysql/bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

添加MySQL环境变量

vi /etc/profile

增加

/usr/local/mysql/bin:

在这里插入图片描述
刷新环境变量

source /etc/profile

设置开机自启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld

启动mysql

mysqld_safe --defaults-file=/etc/my.cnf &

查看mysql进程

ps -ef | grep mysql

如果mysql进程没有启动,具体看日志,基本都是权限问题,或者文件/文件夹没有,需要手动创建,或者需要软连

登陆MySQL

mysql -uroot

修改密码

SET PASSWORD = PASSWORD('123456');

退出mysql

quit;

重新登录mysql

mysql -uroot -p

配置远程访问

use mysql;
UPDATE user SET host = '%' WHERE user = 'root';

重启mysql

quit;
/etc/init.d/mysqld restart

mysql启动命令

/etc/init.d/mysqld start			#启动
/etc/init.d/mysqld restart		#重启
/etc/init.d/mysqld stop			#停止

redis4.0.10安装

wget http://download.redis.io/releases/redis-4.0.10.tar.gz
tar -zxvf redis-4.0.10.tar.gz
cd redis-4.0.10
make && make install
cd src
./redis-server

修改daemon为yes,避免启动后Hang住了…

vim redis.conf

可以指定配置文件启动redis(可以在redis.conf里配置登录密码等)

requirepass 登录redis的密码

#修改redis.conf中的数据存储目录如下

dir /usr/local/redis/data

#设置日志文件路径和名称

logfile "/usr/local/redis/log/redis.log"

启动

./redis-server /usr/local/redis/redis-4.0.10/redis.conf

参考:
https://www.cnblogs.com/skl-bobo/p/10774783.html
https://blog.csdn.net/qq_37126235/article/details/104914961
https://www.cnblogs.com/connect/p/nginx-install-src.html
https://www.cnblogs.com/apollo1616/p/10205319.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值