本文共 7102 字,大约阅读时间需要 23 分钟。
环境介绍:
192.168.203.101服务器:nginx、php、mysql(双主从)、wordpress网站 192.168.203.102服务器:mysql、mysql(双主从)
部署101:nginx服务
部署101:mysq服务(主从)
部署102:mysql服务(主从)
部署101:php服务
配置nginx和php链接
部署wordpress网站
没有缓存服务,配置上redis服务就更好了,有兴趣的可以自己试试,回头我吧配置redis服务内容发上来
Nginx官网提供了三个类型的版本
- 官方http://nginx.org/下载程序包
- 上传到/opt目录下并解压 [root@localhost opt]# tar -xf nginx-1.6.3.tar.gz
- [root@localhost opt]# cd nginx-1.6.3/
- 编译nginx前安装依赖包 [root@localhost nginx-1.6.3]# yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
- 预编译并指定openssl,否则提示openssl找不到(openssl version -a查看目录) [root@localhost nginx-1.6.3]# ./configure --prefix=usr/local/nginx --user=nginx --group=nginx --with-openssl=/etc/pki/tls
- 编译安装 [root@localhost nginx-1.6.3]# make && make install
- 启动服务 [root@localhost ~]# /usr/local/nginx/sbin/nginx
- 官网下载指定mysql软件包
- [root@localhost opt]# tar -xf mysql-5.5.60.tar.gz
- [root@localhost opt]# cd mysql-5.5.60/
- 安装依赖包 [root@localhost opt]#yum install gcc c ncurses ncurses-devel bision gcc-c++ git cmake -y
- 预编译并检测系统环境 [root@localhost opt]#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/usr/local/mysql55/ -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
- 编译及安装 [root@localhost opt]# make && make install
- 复制medium中等的配置文件到配置中 [root@localhost opt]# cp support-files/my-medium.cnf /usr/local/mysql55/my.cnf
- 复制启动脚本到启动目录中 [root@localhost opt]# cp support-files/mysql.server /etc/init.d/mysqld
- 给启动目录中的mysql启动脚本授予执行权限 [root@localhost opt]# chmod +x /etc/init.d/mysqld
- 创建mysql用户并禁止登录 [root@localhost opt]# useradd -s /sbin/nologin mysql
- 创建数据目录 [root@localhost opt]# mkdir -p /data/mysql
- 更改数据目录的所属者和组给mysql及mysql组 [root@localhost opt]# chown -R mysql. /data/mysql
- 初始化mysql数据库 [root@localhost opt]# /usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql55
- 启动mysql数据库 [ root@localhost opt]# /etc/init.d/mysqld start
- 登录mysql必须拷贝脚本到/usr/local/bin并赋予执行权 [root@localhost bin]# cp /usr/local/mysql55/bin/mysql /usr/local/bin/ [root@localhost bin]# chmod +x /usr/local/bin/mysql [root@localhost bin]# mysql -uroot -p
101服务器配置:
修改配置文件my.cnf,在[mysqld]字段下填写一下内容
log-bin=wordpress101-bin server-id=101修改配置后重启服务器(/etc/init.d/mysqld中的服务可以通过service mysqld restart重启) [root@localhost mysql55]# service mysqld restart
进入数据库进行配置主从
[root@localhost mysql55]# mysql -uroot -p查看二进制功能状态
mysql> show variables like “%log_bin”; ±--------------±------+ | Variable_name | Value | ±--------------±------+ | log_bin | ON | | sql_log_bin | ON | ±--------------±------+ 2 rows in set (0.00 sec)配置102为从库,授权从库
mysql> grant replication slave on . to “wordpress”@“192.168.203.102” identified by “123456”;刷新
mysql> flush privileges;查看从库slave状态
show slave status\G; Slave_IO_Running: Yes Slave_SQL_Running: Yes指定主库(从主,指定102服务器的数据库的主库,指定101为102的主库)
MariaDB [(none)]> change master to master_host=“192.168.203.102”, master_user=“wordpress”, master_password=“123456”, master_log_file=“wordpress101-bin. 000001”, master_log_pos=340;tip:从库的server-id不能和主库相同
102服务器配置
与101配置相同,注意配置时的IP以及server_id即可
错误一:
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。 解决方法:在[mysqld]下设置这一行:datadir = /data/mysql错误二:
mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log’, however file don’t exists. Create writable for user ‘mysql’.
解决方法: [root@localhost mysql-5.5.60]# mkdir -p /var/log/mariadb [root@localhost mysql-5.5.60]# touch /var/log/mariadb/mariadb.log [root@localhost mysql-5.5.60]# chown -R mysql. /var/log/mariadb/mariadb.log
- 官网下载所需包 https://www.php.net/downloads.php
- 解压到/opt中 [root@localhost opt]# tar -xf php-5.6.31.tar.bz2
- [root@localhost opt]# cd php-5.6.31/
- 安装依赖包 [root@localhost php-5.6.31]# yum install -y gd curl curl-devel libjpeg libjpeg-devel libpng lilibpng-devel freetype freetype-devel libxml2 libxml2-devel
- 预编译并检测安装环境 ./configure --prefix=/usr/local/php –enable-fpm –enable-debug –with-gd –with-jpeg-dir –with-png-dir –with-freetype-dir –enable-mbstring –with-curl –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-config-file-path=/usr/local/php/etc –with-zlib-dir
- 编译及安装 [root@localhost php-5.6.31]# make && make install
- 复制配置文件到安装目录 [root@localhost php-5.6.31]# cp php.ini-development /usr/local/php/etc/php.ini
- 复制安装目录中的php-fpm目录更改为php-fpm配置文件 [root@localhost php-5.6.31]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
- 复制php启动文件到启动目录 [root@localhost php-5.6.31]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
- 给启动脚本赋予执行权限 [root@localhost php-5.6.31]# chmod +x /etc/init.d/php-fpm
- 更改php用户及组 [root@localhost php-5.6.31]# egrep “^(user|group)” /usr/local/php/etc/php-fpm.conf user = nobody group = nobody [root@localhost php-5.6.31]# vim /usr/local/php/etc/php-fpm.conf user = nginx group = nginx
- 添加nginx用户,方便运行,如果有nginx则无需添加 [root@localhost php-5.6.31]# useradd nginx
- 启动php程序 [root@localhost php-5.6.31]# /etc/init.d/php-fpm start
- 上传wordpress代码
- 解压包到nginx发布目录 [root@localhost opt]# tar xf wordpress-5.7.1-zh_CN.tar.gz -C /usr/local/nginx/html/
- 更改wordpress目录所属者和组 [root@localhost opt]# chown -R nginx. /usr/local/nginx/html/wordpress/
[root@localhost opt]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf
#在http中输入 include vhost/*.conf;[root@localhost conf]# mkdir -p /usr/local/nginx/conf/vhost
[root@localhost conf]# vim wordpress.conf
server {
listen 8088; server_name blog.wordpress.com;location / { root html/wordpress; index index.php index.html index.htm;}# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html { root html;}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ .php$ {
root html/wordpress; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentrootfastcgi_script_name; include fastcgi_params; } }[root@localhost conf]# systemctl stop firewalld
[root@localhost conf]# /usr/local/nginx/sbin/nginx -s reload
网站登录192.168.203.101:8088测试
按提示填写即可
转载地址:http://kbdg.baihongyu.com/