必赢手机app下载 / Blog / 必赢手机app下载 / 多实例安装,Centos7上编译安装LAMP
图片 6

多实例安装,Centos7上编译安装LAMP

试验情状:
虚拟机CentOS7,ip为172.16.250.103

在生养中有的时候候会蒙受风姿浪漫台主机要运维多个MySQL服务器—-叫做多实例

官互连网下载软件包:

下边演示多实例的设置

  • apr-1.5.2.tar.bz2
  • apr-util-1.5.4.tar.bz2
  • httpd-2.4.27.tar.bz2
  • mariadb-10.2.7-linux-x86_64.tar.gz
  • php-7.1.8.tar.bz2
  • wordpress-4.8-zh_CN.tar.gz
  • xcache-3.2.0.tar.gz

先是大家设计下

下面的软件包除了mariadb是二进制包,别的的包都以源码包,如今已下载完成,放在/root/src目录下:

图片 1

[root@Centos7 src]#pwd
/root/src
[root@Centos7 src]#ls
apr-1.5.2.tar.bz2       mariadb-10.2.7-linux-x86_64.tar.gz  wordpress-4.8-zh_CN.tar.gz
apr-util-1.5.4.tar.bz2  httpd-2.4.27.tar.bz2  php-7.1.8.tar.bz2   xcache-3.2.0.tar.gz

据说二进制安装

1、创建mysql用户

useradd -r -s /sbin/nologin -d /app/mysql -m mysql
#
#

2、解压下载的二进制mariadb包

tar xvf mariadb-10.2.16-linux-x86_64.tar.gz -C /usr/local/
#
#

3、创造软连接

cd /usr/local/
#
ln -s mariadb-10.2.16-linux-x86_64/ mysql
#

4、纠正权限

chown -R root.mysql /usr/local/mysql/
#
#

5、碰着变量(少了那步也可)

vim /etc/profile.d/mysql.sh
# 
. /etc/profile.d/mysql.sh
#

若是你早就二进制安装了mariadb包,可以从以下初步

风姿浪漫、编译安装httpd

1、解压httpd、apr、apr-util八个安装包

[root@Centos7 src]#tar xvf httpd-2.4.27.tar.bz2
[root@Centos7 src]#tar xvf apr-1.5.2.tar.bz2
[root@Centos7 src]#tar xvf apr-util-1.5.4.tar.bz2

2、把apr和apr-util解压出来的目录移动到httpd-2.4.27/srclib/apr那个目录下

[root@Centos7 src]#mv apr-1.5.2 httpd-2.4.27/srclib/apr
[root@Centos7 src]#mv apr-util-1.5.4 httpd-2.4.27/srclib/apr-util

3、步向httpd-2.4.27目录,实践./configure,检查当前条件,生成Makefile
假定提示贫乏有些模块大概软件,遵照供给装上,然再实践./configure,直到未有报错。

[root@Centos7 src]#cd httpd-2.4.27/
[root@Centos7 httpd-2.4.27]#./configure --prefix=/app/apache24  --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr  --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

4、编译安装

[root@Centos7 httpd-2.4.27]#make &&make install

5、修改PATH,把/app/apache24/bin添加到PATH变量里

[root@Centos7 app]#vim /etc/profile.d/app.sh
export PATH=/app/apache24/bin:$PATH
[root@Centos7 app]#. /etc/profile.d/app.sh

6、到此地大家就足以运维httpd了,由于大家和睦编写翻译安装的,并不曾拉长期性格很顽强在艰难险阻或巨大压力面前不屈用务脚本。由此我们必须要用Apache自带的命令运行服务。能够看出80端口已开垦。至此httpd已编写翻译安装到位。

[root@Centos7 app]#apachectl start
[root@Centos7 app]#ss -ntl|grep 80
LISTEN     0      128         :::80                      :::*            

点名数据库地点并初步化数据库

1、创制规划图上的目录

mkdir /mysqldb/{3306,3307,3308}/{etc,bin,data,pid,socket,log} -pv
#
#

2、修正主目录mysqldb的品质

chown -R mysql.mysql /mysqldb/
#

3、3306端口

cd /usr/local/mysql/
#
scripts/mysql_install_db  --datadir=/mysqldb/3306/data --user=mysql
#

4、3307端口

scripts/mysql_install_db  --datadir=/mysqldb/3307/data --user=mysql
#

5、3308端口

scripts/mysql_install_db  --datadir=/mysqldb/3308/data --user=mysql
#

二、安装mariadb

是因为小编用的软件包是官方网址仲春经编写翻译好的二进制包,编写翻译时选定的目录是/usr/local/,由此笔者也解压到那个目录下(不然安装后超级多布置文件设置的和安装目录不相通)
剔除原本安装的mariadb

[root@Centos7 src]#rpm -qa "mariadb*"
[root@Centos7 src]#yum remove  mariadb*

1、解压mariadb软件包到//usr/local/

[root@Centos7 src]#tar xvf mariadb-10.2.7-linux-x86_64.tar.gz  -C /usr/local/
[root@Centos7 src]# cd /usr/local/
[root@Centos7 local]#ln -s mariadb-10.2.7-linux-x86_64/ mysql

2、创设mysql客商,钦定shell类型为nologin,并创设家目录为/app/mysqldb

[root@Centos7 local]#useradd -r mysql -s /sbin/nologin -d /app/mysqldb -m 
[root@Centos7 local]#ll -d /app/mysqldb/
drwx------. 2 mysql mysql 4096 Aug  9 08:17 /app/mysqldb/

3、安装,钦赐数据库目录以至劳动顾客

[root@Centos7 local]#cd mysql
[root@Centos7 mysql]#./scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql

4、计划安排文件

[root@Centos7 mysql]#mkdir /etc/mysql
[root@Centos7 mysql]#cp support-files/my-huge.cnf /etc/mysql/my.cnf
[root@Centos7 mysql]#vim /etc/mysql/my.cnf 
#在[mysqld]这一行下添加以下三行
datadir =/app/mysqldb
innodb_file_per_table = ON
skip_name_resolve = ON

5、增多运维服务脚本

[root@Centos7 mysql]#cp support-files/mysql.server /etc/init.d/mysqld
[root@Centos7 mysql]#chkconfig --add mysqld

6、修改PATH路径

[root@Centos7 mysql]#vim /etc/profile.d/app.sh 
export PATH=/usr/local/mysql/bin:/app/apache24/bin:$PATH
[root@Centos7 mysql]#. /etc/profile.d/app.sh

7、运维服务

[root@Centos7 mysql]#service mysqld start
Starting mysqld (via systemctl):                           [  OK  ]
[root@Centos7 mysql]#ss -ntl |grep 3306
LISTEN     0      80          :::3306                    :::*    
可以看到3306端口已打开

8、修正mysql的root账号密码
上面会用到那几个root账号和密码测验

[root@Centos7 mysql]#mysql_secure_installation
设置root密码为666666

创办博客的数据库和客商

[root@Centos7 mysql]mysql -uroot -p666666
MariaDB [(none)]> create database blogdb;     
MariaDB [(none)]>grant all on blogdb.* to wpuser@'localhost' identified by  "666666";    

改过配置文件

1、复制配置文件

cp /etc/my.cnf /mysqldb/3306/etc/
#

2、编辑配置文件

vim /mysqldb/3306/etc/my.cnf 
#

图片 2

3、把地方的配置文件当模板传送给3307、3308

cp /mysqldb/3306/etc/my.cnf  /mysqldb/3307/etc/
cp /mysqldb/3306/etc/my.cnf  /mysqldb/3308/etc/
#

4、改正07、08安排文件的端口

sed -i 's/3306/3307/g' /mysqldb/3307/etc/my.cnf 
sed -i 's/3306/3308/g' /mysqldb/3308/etc/my.cnf 
#

三、编译PHP

1、解压源码包

[root@Centos7 src]#ls
apr-1.5.2.tar.bz2       httpd-2.4.27.tar.bz2                php-7.1.8.tar.bz2
apr-util-1.5.4.tar.bz2  mariadb-10.2.7-linux-x86_64.tar.gz  wordpress-4.8-zh_CN.tar.gz
httpd-2.4.27            php-7.1.8                           xcache-3.2.0.tar.gz
[root@Centos7 src]#tar xvf php-7.1.8.tar.bz2

2、./configure

[root@Centos7 src]#cd php-7.1.8/
[root@Centos7 php-7.1.8]#./configure --prefix=/app/php --enable-mysqlnd  --with-mysqli=mysqlnd   --with-openssl --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/app/apache24/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
如果提示找不到文件,请按照提示安装包
安装好包后,继续上面./configure操作

3、make && make install

[root@Centos7 php-7.1.8]#make && make install

4、拷贝配置文件

[root@Centos7 php-7.1.8]cp php.ini-production  /etc/php.ini

5、纠正httpd配置文件

[root@Centos7 php-7.1.8]vim /app/httpd24/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

6、测试php
“root”,”666666″分别是自身上面安装的mysql数据库的账号和密码

vim /app/httpd24/htdocs/index.php 
<?php
$mysqli=new mysqli("127.0.0.1","root","666666");
if(mysqli_connect_errno()){
echo "连接数据库失败!";
$mysqli=null;
exit;
}
echo "连接数据库成功!";
$mysqli->close();
?>

用浏览器访谈一下,使用php连接数据库成功

图片 3

image.png

启航程序

1、把早期编写的运转脚本复制到06、07、08的bin目录下

cp /root/mysqld /mysqldb/3306/bin/
cp /root/mysqld /mysqldb/3307/bin/
cp /root/mysqld /mysqldb/3308/bin/
#

2、改进7、8的运转脚本进程号为投机的

vim /mysqldb/3307/bin/mysqld
#07的改为3307
vim /mysqldb/3308/bin/mysqld
#08的改为3308

图片 4

3、给运行脚本加奉行权限

chown +x /mysqldb/3306/bin/mysqld 
chmod +x /mysqldb/3306/bin/mysqld 
chmod +x /mysqldb/3307/bin/mysqld 
chmod +x /mysqldb/3308/bin/mysqld
#

4、运营服务脚本

/mysqldb/3306/bin/mysqld start
#
/mysqldb/3307/bin/mysqld start
#
/mysqldb/3308/bin/mysqld start

5、ss -ntl查看

图片 5

四、部署WordPress

1、解压,把解压出来的目录移动到/app/apache24/htdocs/目录下,改名称叫blog

[root@Centos7 ~]#cd /root/src/
[root@Centos7 src]#tar xf wordpress-4.8-zh_CN.tar.gz 
[root@Centos7 src]mv wordpress /app/apache24/htdocs/blog

2、设置配置文件

[root@Centos7 src]#cd /app/apache24/htdocs/blog/
[root@Centos7 blog]cp wp-config-sample.php wp-config.php 
[root@Centos7 blog]vim wp-config.php 

define('DB_NAME', 'blogdb');

/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');

/** MySQL数据库密码 */
define('DB_PASSWORD', '666666');

/** MySQL主机 */
define('DB_HOST', 'localhost');

也足以用另风流浪漫种方法,给与daemon读写施行权限

[root@Centos7 ~]setfacl -m u:daemon:rwx /app/apache24/htdocs/blog/

3、测试
自己的ip是172.16.250.103,访谈一下http://172.16.250.103/blog/
能够见见布署成功。

图片 6

image.png

数据库加固

1、给数据库root客户加密码

mysqladmin  -S /mysqldb/3306/socket/mysql.sock password 'centos'
mysqladmin  -S /mysqldb/3307/socket/mysql.sock password 'centos'
mysqladmin  -S /mysqldb/3308/socket/mysql.sock password 'centos'

2、步向数据库删除无名登录

mysql -S /mysqldb/3306/socket/mysql.sock -uroot -p
#

select user,host from mysql.user;
#查看有哪些用户
delete from mysql.user where user='';
#删除匿名用户

OK

exit 重新步向 ,要是那多少个,就重启下服务

叠合运转脚本代码

#!/bin/bash

port=3306
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/local/bin"
mysql_basedir="/mysqldb"
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"

function_start_mysql()
{
    if [ ! -e "$mysql_sock" ];then
      printf "Starting MySQL...n"
      ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /dev/null  &
    else
      printf "MySQL is running...n"
      exit
    fi
}


function_stop_mysql()
{
    if [ ! -e "$mysql_sock" ];then
       printf "MySQL is stopped...n"
       exit
    else
       printf "Stoping MySQL...n"
       ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
   fi
}


function_restart_mysql()
{
    printf "Restarting MySQL...n"
    function_stop_mysql
    sleep 2
    function_start_mysql
}

case $1 in
start)
    function_start_mysql
;;
stop)
    function_stop_mysql
;;
restart)
    function_restart_mysql
;;
*)
    printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}n"
esac

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图