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

简介: 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
目录
相关文章
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2939 16
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
978 10
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
2620 25
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
3610 26
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
522 4
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
828 3
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
1709 16
|
NoSQL Linux Redis
在 centos7 下重启/开启 redis 服务器
本文提供了一种在Centos 7操作系统下如何重启Redis服务器的步骤,包括停止Redis服务、确认停止成功以及重新启动Redis服务。
2009 2
在 centos7 下重启/开启 redis 服务器
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
1323 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
2270 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装