実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール

実際のマスタLNP + MYSQLのからソースコードコンパイラのインストールに基づいて1、
製造例3台のサーバであって、前記一方のサーバーのサーバーから他の二つのMYSQL主情報、サーバIPとしてnginxのWEB + PHP-FPM(FastCGIの)、など:
10.10.10.4 nginxの+ PHP + -linux
10.10.10.5-MYSQLマスター;
10.10.10.6-MYSQLスレーブ;
1)をインストールnginxの設定
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール
#PCREライブラリの基盤とライブラリのサポートをインストール
yumをインストールPCRE-develのPCREのgcc -c ++のopenssl opensslを-Y-develのzlibのdevelの
CDは/ usr / src
nginxのダウンロードソースパッケージ#
のwget -C http://nginx.org/download/nginx-1.12.0.tar.gz
タール-1.12.0 nginxの-xzf .tar.gzの
nginxのCD-1.12.0
#ディレクトリのファイルが解凍され、その後、nginxのは、変更されたバージョン情報をsedのJWSある
SED -e -i 'S / 1.12.0 // G' -e「S / nginxの\ // JWS / G '-e' S / "nginxの" / "JWS" / G「のsrc /コア/ nginx.h
#コンパイル済みのnginxの
useraddのWWW; ./のconfigure --user = WWW --group = WWW --prefix =は/ usr / local / nginxの--with-http_stub_status_module --with-http_ssl_moduleが
#コンパイルが成功した後、makeコマンドをコンパイルする
メイク
正常に実行された後に#make、実行メイク正式なインストールインストール
メイクインストール
#はnginxの設定ファイルをチェックするには、正しい返すOKであること、正確です。
は/ usr / local / nginxの/ sbinに/ nginxの-t
#入力します。プロセスが起動しているかどうかを確認します。
その後、nginxの起動には、/ usr / local / nginxの/ sbinに/ nginxの
2)PHPのインストール構成
wgetのhttp://museum.php.net/php5/php-5.6.9.tar.gz
-Y yumをインストールしたGdカールカール-develの-develののlibjpegのlibjpeg libpngをのlibpng-develのFreeTypeのFreeTypeのlibxml2の-develのMySQLののlibxml2-develの-develの
PHP -xzfタール-5.6.9.tar.gz
CD-PHP 5.6.9
は./configure --prefix =は/ usr / local / PHP5 --enable-FPM --enable-デバッグ--with-GD --with-JPEG-DIR --with-PNG-DIR --with-FreeTypeの-DIR MBSTRING --withカール---有効--with-のMySQL = mysqlnd
--with-mysqliの= mysqlnd
--with-PDO-のMySQL = mysqlnd
--disable-のFileInfo
mysqliの拡張に対して一連の利点を有していますMySQLの拡張機能のアップグレードです:オブジェクト指向のインターフェイス、プリペアドステートメントのサポート、マルチステートメントの実行支援、トランザクションのサポート、強化され、デバッグ機能、組み込みサービスサポート。
作る
make installを
\開発CP-は/ usr / local / PHP5 / libに/ php.iniのphp.iniの
\ /usr/local/php5/etc/php-fpm.conf.default CPは/ usr / local / PHP5の/ etc / PHP -fpm.conf
\ CP /usr/src/php-5.6.9/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
ます。chmod 755 /etc/init.d/php-fpm
--addのphp-FPM chkconfigを
ONのchkconfigのphp-FPM
PHPパーサは:パースPHPページを使用し
、PHP-FPMマネージャ:通話やオープンとPHPパーサを管理すること。

PHP-fpm.confは、重要な設定ファイルのPHPサービスプログラムの一つであり、我々は、ディレクトリプロファイルの保存ライン25についてのpidファイルを有効にする必要があり、そしてユーザーおよびグループのパラメータはそれぞれ148と149行は、WWWに変更されましたユーザーアカウントとグループ名:

vimの/usr/local/php5/etc/php-fpm.conf

;;;;;;;;;;;;;;;;;;;;; 1。
2、FPMの構成;
3 ;;;;;;;;;;;;;;;;;;;;;
23 IS ;注:デフォルトのプレフィックスISは/ usr / local / PHPの/ var
24;デフォルト値:なし
25 PID = RUN / php-fpm.pid
..................出力省略された情報..................
145; Unixのプロセスのユーザー/グループ
146;ユーザグループについての注意:.デフォルトのユーザーAPOS競売の場合ではありませんSET、G必須です
147;使用されます。
148は、ユーザWWW =
149は、グループ= WWW
..................情報出力は省略します..................
nginxの設定(4)構成ファイル
CAT /usr/local/nginx/conf/nginx.conf
イベント{
worker_connections 1024;
}
HTTP {
のmime.types含む;
default_typeファイルapplication / octet-streamと、
サーバ{
聴く80 ;
サーバー名はlocalhost。
位置/ {
ルートは/ usr / local / nginxの/ HTML。
index.phpのindex.htmlをインデックス。
}
場所〜.PHP $ {
ルートHTML。
fastcgi_pass 127.0.0.1:9000。
   fastcgi_indexのindex.php;#
fastcgi_paramSCRIPT_FILENAME

Sは/ usr / local / nginxの/ htmlの$ fastcgi_script_name。
fastcgi_paramsが含まれます。
}
}

CAT> /usr/local/nginx/html/index.php << EOF
<PHP?
のphpinfo();
?>
EOF
サービスのphp-FPM再起動#再起動PHPサービス
は/ usr / local / nginxの/ sbinに / nginxの-t nginxのを検出サービスパラメータ
は/ usr / local / nginxの/ sbinに / nginxのnginxのサービスパラメータの開始
以下のように、テストindex.phpページを作成し、テストLNMPアーキテクチャ試験:
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール

仮想ホストを作成しますdz.jf.com && wp.jf.com
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール

-
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール
server {
listen 80;
server_name dz.jf.com;

  location / {
     root /usr/local/nginx/html/dz;
     index  index.php;
     }
  error_page 500 502 503 504 /50x.html; 
  location = /50x.html {
  root html;
     }
   location ~ \.php$ {
         root           /usr/local/nginx/html/dz;
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
               fastcgi_param SCRIPT_FILENAME  /usr/local/nginx/html/dz$fastcgi_script_name;
         include        fastcgi_params;
     }

} #两个文件内容中就是域名和路径不一样,其余都一样
2-1)Discuz PHP论坛安装
LAMP源码整合完毕之后,Dicuz官网下载Discuz开源PHP软件包,将软件包解压并发布在Nginx Htdocs发布目录,代码如下:
cd /usr/src ;
wget http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip
unzip Discuz_X3.1_SC_UTF8.zip -d /usr/local/nginx/html/dz
cd /usr/local/nginx/html/dz
mv upload/ /usr/local/nginx/html/dz
chmod 757 -R data/ uc_server/ config/ uc_client/
重新启动nginx
另外那个一样的操作,不同的路径
2-2)wordpress PHP论坛安装
cd /usr/src ;
tar –zxf wordpress-4.9.4-zh_CN.tar.gz –C /usr/local/nginx/html/wp
cd /usr/local/nginx/html/wp
mv wordpress /
.

如下图找到路径添加ip 与域名 ,这样用主机就可以测试和访问这两个网站
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール
MYSQL数据库命令行中创建PHP连接MYSQL的用户及密码,命令如下:
create database discuz charset=utf8;
grant all on discuz. to root@'10.0.0.4' identified by "123456";
flush privileges;
create database wordpress charset=utf8;
grant all on wordpress.
to root@'10.0.0.4' identified by "123456";
flush privileges;

访问IP地址 进行论坛的访问,配置discuz论坛设置数据库。

 3)MySQL安装配置
1).安装相关工具和软件包
yum install cmake ncurses-devel ncurses libaio bison git gcc-c++ -y
cd /usr/src
wget /mysql-5.5.20.tar.gz
tar -xzf mysql-5.5.20.tar.gz
cd mysql-5-5.20
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0 \
-DENABLE_DTRACE=0

make -j4 && make install
cd /usr/local/mysql55/
\cp -f support-files/my-large.cnf /etc/my.cnf
\cp -f support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 35 mysqld on
mkdir -p /data/mysql
useradd mysql
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/
ln -s /usr/local/mysql55/bin/* /usr/bin/
service mysqld start
建立主从复制
2).
Master and slave 一样 在/etc/my.conf 里面分别设置级别1,2;
设置日志名称及id :
server-id = 1
log-bin=mysql-bin

master 上面创建slave 链接master的复制账号和授权命令
Master数据库服务器命令行中 创建tongbu用户及密码并设置权限,执行如下命令,查看bin-log文件及position点,
grant replication slave on . to 'tongbu'@'10.0.0.4' identified by'123456';
show master status;
flush tables with read lock; #主库配置锁表

提前关闭master 或者 slave 的防火墙,或者放开mysql端口,关闭selinux

3)
.slave 链接 master,请求bin-log 文件(mysql-bin)。
change master to
master_host='10.0.0.5',master_user='tongbu',master_password='123456',masterlog
file='mysql-bin.000003',master_log_pos=477;
slave start;
MariaDB [(none)]> slave start;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show slave status\G
1. row
Slave_IO_State: Waiting for master to send event
Master_Host: 10.0.0.6
Master_User: tongbu
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 477
Relay_Log_File: mariadb-relay-bin.000002
Relay_Log_Pos: 529
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 477
Relay_Log_Space: 825
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
1 row in set (0.00 sec)

当前如果io 进程和 sql 进程都是running ,就代表 主从同步就建立成功了。

4).
在主库上面创建 数据库和表 ,主库和从库之间就会形成主从同步关系。
master 测试:
unlock tables;
create database jf1;
查看从库
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール


5).
主主同步就是用slave 的master去同步 mastar 的slave,叫做主从互备,一台宕机后,只需在/etc/hosts 文件中改变ip地址就可以将其切换(前提是主主mysql数据库主机名可以ping通和一致)
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール
6).
模拟主宕机切换ip
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール10.0.0.5的ip
创建jf001和jf002用户:

実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール
Kill “mysql’s id”
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール
切换另一个主库(在安装论坛和网站时一定要用域名,不然主宕机后无法切换)

実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール
実際のマスターLNP + MYSQLからベースのyumのソースコンパイラおよびインストール

2、基于yum安装的LNP+MYSQL主从实战

設定LNP、PHP-FPM(FastCGIの)が、配置された+ nginxのWebサーバーは次の通り:
インストールLNPサービスを、
yumをインストールnginxのdevelのPHP PHP-PHP-PHPのMySQL -Y-FPM
nginxのリリースのデフォルトのディレクトリ:を/ usr / share / nginxの/ htmlの/;
nginxの設定ファイルのディレクトリ:の/ etc / nginxの/
は/ usr /報告このコンテンツシェアテストページを作成index.phpで公開/ nginxの/ HTML /、ディレクトリ、
Nginxは、PHP-FPM serviceコマンドを起動し、
サービスの再起動PHP-FPMの
サービスnginxの再起動を
(コンフィギュレーションコンテンツコンパイラのインストールは似ており、唯一の違いは、パス開始コマンドである)
2)MYSQL主プライマリ同期を配置
YUM mariadb mariadb-develの-Yインストール
実質的に同様のコンパイラのインストールのMySQL-5.5.20を用いて次の構成を

おすすめ

転載: blog.51cto.com/13689591/2451963