LNMP环境搭建

LNMP环境搭建

环境介绍:
192.168.203.101服务器:nginx、php、mysql(双主从)、wordpress网站
192.168.203.102服务器:mysql、mysql(双主从)

  1. 部署101:nginx服务

  2. 部署101:mysq服务(主从)

  3. 部署102:mysql服务(主从)

  4. 部署101:php服务

  5. 配置nginx和php链接

  6. 部署wordpress网站

    没有缓存服务,配置上redis服务就更好了,有兴趣的可以自己试试,回头我吧配置redis服务内容发上来

1、部署nginx服务

Nginx官网提供了三个类型的版本

  1. Mainline version:Main line 是 Nginx 主力做的版本,可以说是开发版
  2. Stable version:最新稳定版,生产环境上建议使用的版本
  3. Legacy versions:遗留的老版本的稳定版

nginx服务安装

  1. 官方http://nginx.org/下载程序包
  2. 上传到/opt目录下并解压
    [root@localhost opt]# tar -xf nginx-1.6.3.tar.gz
  3. [root@localhost opt]# cd nginx-1.6.3/
  4. 编译nginx前安装依赖包
    [root@localhost nginx-1.6.3]# yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
  5. 预编译并指定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
  6. 编译安装 [root@localhost nginx-1.6.3]# make && make install
  7. 启动服务 [root@localhost ~]# /usr/local/nginx/sbin/nginx

2、部署MYSQL服务+主从

①、mysql服务搭建(101、102安装方法相同)

  1. 官网下载指定mysql软件包
  2. [root@localhost opt]# tar -xf mysql-5.5.60.tar.gz
  3. [root@localhost opt]# cd mysql-5.5.60/
  4. 安装依赖包
    [root@localhost opt]#yum install gcc c ncurses ncurses-devel bision gcc-c++ git cmake -y
  5. 预编译并检测系统环境
    [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
  6. 编译及安装
    [root@localhost opt]# make && make install
  7. 复制medium中等的配置文件到配置中
    [root@localhost opt]# cp support-files/my-medium.cnf /usr/local/mysql55/my.cnf
  8. 复制启动脚本到启动目录中
    [root@localhost opt]# cp support-files/mysql.server /etc/init.d/mysqld
  9. 给启动目录中的mysql启动脚本授予执行权限
    [root@localhost opt]# chmod +x /etc/init.d/mysqld
  10. 创建mysql用户并禁止登录
    [root@localhost opt]# useradd -s /sbin/nologin mysql
  11. 创建数据目录
    [root@localhost opt]# mkdir -p /data/mysql
  12. 更改数据目录的所属者和组给mysql及mysql组
    [root@localhost opt]# chown -R mysql. /data/mysql
  13. 初始化mysql数据库
    [root@localhost opt]# /usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql55
  14. 启动mysql数据库
    [ root@localhost opt]# /etc/init.d/mysqld start
  15. 登录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服务器配置:
  1. 修改配置文件my.cnf,在[mysqld]字段下填写一下内容
    log-bin=wordpress101-bin
    server-id=101

  2. 修改配置后重启服务器(/etc/init.d/mysqld中的服务可以通过service mysqld restart重启) [root@localhost mysql55]# service mysqld restart

  3. 进入数据库进行配置主从
    [root@localhost mysql55]# mysql -uroot -p

  4. 查看二进制功能状态
    mysql> show variables like “%log_bin”;
    ±--------------±------+ | Variable_name | Value |
    ±--------------±------+ | log_bin | ON | | sql_log_bin | ON |
    ±--------------±------+ 2 rows in set (0.00 sec)

  5. 配置102为从库,授权从库
    mysql> grant replication slave on . to “wordpress”@“192.168.203.102” identified by “123456”;

  6. 刷新
    mysql> flush privileges;

  7. 查看从库slave状态
    show slave status\G;
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

  8. 指定主库(从主,指定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;

  9. tip:从库的server-id不能和主库相同

102服务器配置

与101配置相同,注意配置时的IP以及server_id即可

③、配置wordpress数据库(可在部署完wordpress后在创建)

  1. 启动数据库服务:
    /etc/init.d/mysqld start
  2. 进入数据库创建数据库
    mysql> create database wordpress charset utf8;
    Query OK, 1 row affected (0.00 sec)
  3. 授权
    mysql> grant all on wordpress.* to “wordpress”@localhost identified
    by “123456”;
    Query OK, 0 rows affected (0.10 sec)
  4. 刷新
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

④、部署数据库常见错误

错误一:

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

3、部署PHP服务

  1. 官网下载所需包 https://www.php.net/downloads.php
  2. 解压到/opt中 [root@localhost opt]# tar -xf php-5.6.31.tar.bz2
  3. [root@localhost opt]# cd php-5.6.31/
  4. 安装依赖包 [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
  5. 预编译并检测安装环境 ./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
  6. 编译及安装 [root@localhost php-5.6.31]# make && make install
  7. 复制配置文件到安装目录 [root@localhost php-5.6.31]# cp php.ini-development /usr/local/php/etc/php.ini
  8. 复制安装目录中的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
  9. 复制php启动文件到启动目录 [root@localhost php-5.6.31]# cp sapi/fpm/init.d.php-fpm
    /etc/init.d/php-fpm
  10. 给启动脚本赋予执行权限 [root@localhost php-5.6.31]# chmod +x /etc/init.d/php-fpm
  11. 更改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
  12. 添加nginx用户,方便运行,如果有nginx则无需添加 [root@localhost php-5.6.31]# useradd nginx
  13. 启动php程序 [root@localhost php-5.6.31]# /etc/init.d/php-fpm start

4、配置nginx与PHP链接并加载wordpress网站代码

①、加载wordpress网站代码

  1. 上传wordpress代码
  2. 解压包到nginx发布目录 [root@localhost opt]# tar xf wordpress-5.7.1-zh_CN.tar.gz -C /usr/local/nginx/html/
  3. 更改wordpress目录所属者和组 [root@localhost opt]# chown -R nginx. /usr/local/nginx/html/wordpress/

②、配置nginx与php链接

  1. [root@localhost opt]# cd /usr/local/nginx/conf/

  2. [root@localhost conf]# vim nginx.conf
    #在http中输入 include vhost/*.conf;

  3. [root@localhost conf]# mkdir -p /usr/local/nginx/conf/vhost

  4. [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;
    }
    }

  5. [root@localhost conf]# systemctl stop firewalld

  6. [root@localhost conf]# /usr/local/nginx/sbin/nginx -s reload

  7. 网站登录192.168.203.101:8088测试

wordpress网站部署测试

按提示填写即可

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值