首页 > 网站 > 建站经验 > 正文

详解CentOS 7.0源码包搭建LNMP 实际环境搭建

2019-11-02 16:41:31
字体:
来源:转载
供稿:网友

Centos7+Nginx1.11.7+MySQL5.7.16+PHP7.1.0+openssl-1.1.0c

一、linux 系统限制配置

1、关闭系统防火墙    

systemctl stop firewalld.service 关闭防火墙systemctl disable firewalld.service 禁用防火墙

2、关闭SElinux

sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config setenforce 0 selinux 立即生效

二、系统安装约定

软件源代码包存放位置:/usr/local/src

源码包编译安装位置:/usr/local/软件名字

三、下载软件包

1、下载nginx最新稳定版本

 wget -P /usr/local/src http://nginx.org/download/nginx-1.11.7.tar.gz

2、下载mysql-boost-5.7.16 带 boost 如果不带源码安装如果网络环境不会可能会出现错误

wget -P /usr/local/src http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.16.tar.gz

3、下载php-7.1.0版本

wget -P /usr/local/src http://cn2.php.net/distributions/php-7.1.0.tar.gz

4、下载libmemcached-1.0.18

wget -P /usr/local/src https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz

5、下载php-memcached

yum -y install gitcd /usr/local/src git clone -b php7 https://github.com/php-memcached-dev/php-memcached.git

6、下载openssl-1.1.0c

wget -P /usr/local/src https://www.openssl.org/source/openssl-1.1.0c.tar.gz

四、安装编译器及依赖

yum -y insyall epel-releaseyum -y install patch gcc gcc-c++ readline-devel zlib-devel libffi-devel / openssl openssl-devel make autoconf automake libtool bison libxml2 / libxml2-devel libxslt-devel libyaml-devel python python-docutils / cmake imake expat-devel libaio libaio-devel bzr ncurses-devel wget / libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel / pcre-devel curl-devel libmcrypt libmcrypt-devel

五、编译安装mysql-boost-5.7.16 方便再次安装创建mysql_install.sh脚本

1、mysql_install.sh内容

#!/bin/bash#yum update -y#yum install -y cmake gcc-c++ ncurses-devel gcc make openssl*#mysql安装脚本DBDIR='/data/mysql' #mysql数据存储目录MYSQLDIR='/usr/local/mysql' # mysql安装目录PASSWD='123456' # mysql root密码 安装完成可远程ip登陆[ -d $DBDIR ] || mkdir $DBDIR -pid mysql &> /dev/nullif [ $? -ne 0 ];then useradd mysql -s /sbin/nologin -Mfichown -R mysql:mysql $DBDIRcd /usr/local/srctar -xvf mysql-boost-5.7.16.tar.gzcd mysql-5.7.16cmake . -DCMAKE_INSTALL_PREFIX=$MYSQLDIR /-DMYSQL_DATADIR=$DBDIR /-DSYSCONFDIR=/etc /-DWITH_INNOBASE_STORAGE_ENGINE=1 /-DWITH_ARCHIVE_STORAGE_ENGINE=1 /-DWITH_BLACKHOLE_STORAGE_ENGINE=1 /-DWITH_READLINE=1 /-DWITH_LIBWRAP=0 /-DMYSQL_UNIX_ADDR=/tmp/mysql.sock /-DWITH_SSL=system /-DWITH_ZLIB=system /-DWITH_BOOST=/usr/local/src/mysql-5.7.16/boost/boost_1_59_0 /-DDEFAULT_CHARSET=utf8 /-DDEFAULT_COLLATION=utf8_general_ciif [ $? != 0 ];then echo "cmake error!" exit 1fimake && make installif [ $? -ne 0 ];then echo "install mysql is failed!" && /bin/falsefisleep 2chown -R mysql:mysql $MYSQLDIRchown -R root:root $MYSQLDIRcp $MYSQLDIR/support-files/my-default.cnf /etc/my.cnfecho export PATH=$PATH:$MYSQLDIR/bin:$MYSQLDIR/lib >>/etc/profilesource /etc/profilecat >> /etc/my.cnf << EOFcharacter_set_server = utf8basedir = $MYSQLDIRdatadir = $DBDIRport = 3306server_id = 1socket = /tmp/mysql.sockexplicit_defaults_for_timestamp=trueEOFsed -i 's/sql_mode=.*/sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER/g' /etc/my.cnf  source /etc/profile  sleep 5  cd $MYSQLDIR  cp support-files/mysql.server /etc/init.d/mysqld  chmod 700 /etc/init.d/mysqld  mysql_ssl_rsa_setup  rm -rf $DBDIR  mysqld --initialize --user=mysql  if [ $? -ne 0 ];then echo "install mysql is failed!" && /bin/falsefi#/etc/init.d/mysqld stop  mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  sleep 5  echo "update user set authentication_string=Password('$PASSWD') where user='root'; flush privileges;" | mysql mysql   echo "set password=Password('$PASSWD'); flush privileges;" | mysql -u root -p$PASSWD --connect-expired-password  sleep 5  echo "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '$PASSWD'; FLUSH PRIVILEGES; " | mysql -u root -p$PASSWD  /etc/init.d/mysqld restart  if [ $? -ne 0 ];then echo "install mysql is failed!" && /bin/falsefiIDSO=`cat /etc/ld.so.conf| grep $MYSQLDIR/lib | wc -l `if [ $IDSO -eq 0 ];thenecho "$MYSQLDIR/lib" >> /etc/ld.so.conf ldconfigfichkconfig mysqld on
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表