CentOS7 源码安装nginx+php+mysql+redis--shell脚本

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: centos7源码安装 nginx+php+mysql+redis 复制文中shell脚本,登录自己的服务器保存为 install.sh 执行如下命令 chmod +x install.sh ./install.sh
#======== shell script file ============
start_time=`date +%s`
#======== shell script start ===========


echo "---- CentOS7.x install mysql + php + nginx + redis + phpmyadmin----"
sleep 3
cd ~
mkdir download
cd download
yum -y install wget unzip gcc gcc-c++ make cmake autoconf automake openssl openssl-devel openssl-perl openssl-static zlib zlib-devel pcre pcre-devel ncurses ncurses-devel bison bison-devel curl curl-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel libxml2 libxml2-devel gd gd-devel freetype freetype-devel libjpeg libjpeg-devel libpng libpng-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libXpm libXpm-devel t1lib t1lib-devel libxslt libxslt-devel net-snmp net-snmp-devel

wget http://nginx.org/download/nginx-1.16.0.tar.gz
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz
wget https://www.php.net/distributions/php-7.1.29.tar.gz
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
wget https://pecl.php.net/get/event-2.5.0.tgz
wget https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip

cd /root/download/
groupadd www
useradd -g www www
groupadd mysql
useradd -g mysql mysql

chmod 755 /home/www /home/mysql
chown www:www /home/www
chown mysql:mysql /home/mysql

clear
echo "---- install mysql ----"
sleep 2

tar zxvf mysql-5.6.44.tar.gz
cd mysql-5.6.44
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql -DSYSCONFDIR=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DMYSQL_TCP_PORT=3306 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=yes
make
make install

cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/my.cnf
rm -f /etc/my.cnf
ln -s /usr/local/mysql/my.cnf /etc/my.cnf
ln -s /usr/local/mysql/bin/mysql* /usr/local/bin
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql



echo "---- install nginx ----"
sleep 2
cd /root/download/
tar zxvf nginx-1.16.0.tar.gz 
cd nginx-1.16.0
./configure --user=www --group=www --prefix=/usr/local/nginx --pid-path=/tmp/nginx.pid --with-http_stub_status_module --with-http_ssl_module
make
make install

cd /root/download
mkdir /usr/local/nginx/conf/vhosts/
#\cp ./nginx.conf /usr/local/nginx/conf/
ln -s /usr/local/nginx/conf/nginx.conf /etc/nginx.conf

clear
echo "---- install php ----"
sleep 2
cd /root/download/
tar -xzvf curl-7.64.1.tar.gz
cd curl-7.64.1
./configure --prefix=/usr/local/curl
make && make install

cd /root/download/
tar -xzvf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent-2.1.8
make && make install

cd /root/download/
tar -zxvf php-7.1.29.tar.gz
cd php-7.1.29
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-iconv-dir --with-freetype-dir --with-png-dir --with-jpeg-dir --with-zlib --with-mhash --with-gd --enable-bcmath --with-curl=/usr/local/curl --with-bz2 --enable-zip --with-openssl --with-openssl-dir --without-pear --enable-mbstring --enable-soap --enable-xml --enable-pdo --enable-ftp --enable-bcmath --enable-sockets --with-xmlrpc --with-xsl --enable-sysvsem --enable-sysvshm --enable-maintainer-zts --enable-calendar --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-wddx --enable-shmop --enable-exif --enable-pcntl
make
make install

cp php.ini-development /usr/local/php/etc/php.ini
sed -i "s/;date.timezone =/date.timezone = PRC/" /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
ln -s /usr/local/php/etc/php.ini /etc/php.ini
ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf
ln -s /usr/local/php/bin/php* /usr/local/bin/
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

cd ./ext/pdo_mysql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make && make install
echo extension=pdo_mysql.so >> /usr/local/php/etc/php.ini

cd /root/download
tar -zxvf event-2.5.0.tgz
cd event-2.5.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.8
make && make install
echo extension=event.so >> /usr/local/php/etc/php.ini


clear
echo "---- install redis ----"
sleep 2
cd /root/download

tar -zxvf redis-5.0.5.tar.gz
redis-5.0.5
make
cd src
make install
mkdir -p /usr/local/redis/bin /usr/local/redis/etc /usr/local/redis/logs  /usr/local/redis/rdb
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /usr/local/redis/bin/
cd ../../
cp redis.conf /usr/local/redis/etc/
sed -i "s/daemonize no/daemonize yes/" /usr/local/redis/etc/redis.conf

clear
echo "---- install phpredis ----"
sleep 2
cd /root/download
tar -zxvf 4.3.0.tar.gz
cd phpredis-4.3.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
echo extension=redis.so >> /usr/local/php/etc/php.ini


clear
echo "---- install phpmyadmin ----"
sleep 2
cd /root/download


unzip phpMyAdmin-4.8.5-all-languages.zip
mv phpMyAdmin-4.8.5-all-languages /home/www/phpmyadmin
chown -R www:www /home/www/phpmyadmin
cd

echo "
pkill nginx
pkill redis
pkill php

/usr/local/php/sbin/php-fpm -d start
/usr/local/mysql/support-files/mysql.server stop
/usr/local/mysql/support-files/mysql.server start
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

netstat -antp | grep php
netstat -antp | grep redis
netstat -antp | grep mysql
netstat -antp | grep nginx
" > /root/lnmp.sh
chmod +x /root/lnmp.sh

sh /root/lnmp.sh

echo "---------------------------------------------"
echo "---- source dir: /root/download/   ----------"
echo "---- php dir: /usr/local/php/      ----------"
echo "---- nginx dir: /usr/local/php/    ----------"
echo "---- mysql dir: /usr/local/php/    ----------"
echo "---- redis dir: /usr/local/php/    ----------"
echo "---- start lnmp: ~/lnmp.sh         ----------"
echo "---------------------------------------------"

#======== shell script over ===========
over_time=`date +%s`

use_time=$[$over_time-$start_time]

if [ $use_time -le 60 ]
then

use_second=$use_time
use_minutes=0

else

use_second=$[$use_time%60]
use_minutes=$[$use_time/60]

fi

echo When you use shell script:$use_minutes minutes $use_second second
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
安全 关系型数据库 MySQL
Linux(CentOS6)安装MySQL5.6
Linux(CentOS 6)系统上安装MySQL 5.6版本的详细步骤,包括准备数据存放目录、创建用户、下载安装包、初始化数据库、配置服务脚本、设置环境变量等操作。
136 1
|
1月前
|
关系型数据库 MySQL Java
centos7安装mysql教程及Navicat平替软件
【8月更文挑战第17天】本教程详述CentOS 7上安装MySQL的过程。首先确保移除任何预装的MySQL组件,然后通过wget获取并安装MySQL的YUM源。可以选择安装特定版本如5.7或8.0。安装MySQL服务器后,启动服务并查找初始密码。登录MySQL后应立即更改密码,并可根据需要设置远程访问权限。此外,还推荐使用免费开源的DBeaver作为数据库管理工具,提供了安装步骤以方便管理和操作MySQL数据库。
|
29天前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
139 8
centos7 mysql安装及配置
|
25天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
1月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
342 0
在CentOS上使用yum安装与使用MySQL
|
1月前
|
关系型数据库 MySQL Linux
在CentOs7虚拟机Linux离线安装mysql5.6(亲测可用)
该博客文章详细记录了在CentOS 7虚拟机上离线安装MySQL 5.6版本的完整过程,包括下载安装包、导入虚拟机、卸载MariaDB、配置文件设置、服务启动和权限配置等步骤。
在CentOs7虚拟机Linux离线安装mysql5.6(亲测可用)
|
1月前
|
NoSQL Java 应用服务中间件
使用Redis和Nginx分别实现限制接口请求频率
这篇文章介绍了如何使用Redis和Nginx分别实现限制接口请求频率的方法,包括具体的命令使用、代码实现和配置步骤。
39 0
|
11天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
13天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
138 11
|
1月前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~