美文网首页web
linux、nginx、php、mysql环境下搭建wordpr

linux、nginx、php、mysql环境下搭建wordpr

作者: DecadeHeart | 来源:发表于2017-11-06 18:05 被阅读209次

    之前写过一篇,腾讯云+wordpress搭建个人博客,但是是使用amh面板,简单粗暴构建的,其实amh面板也是集成了nginx,mysql,php,所以这次使用了原始的方法,构建了一下个人博客

    1.数据库的安装及配置

    安装方式

    yum -y install mysql mysql-server
    

    数据库启动命令

    /etc/init.d/mysqld start
    

    数据库登录命令

     mysql -u root –p
    

    会出现如下反馈

    mysql.png

    没有设置密码的话就可以直接进入到mysql命令行

    接下来设置密码就在mysql命令行

    use mysql;
    update user set password=password('yourpassword') where user='root';
    flush privileges;
    exit
    //在原命令行
    /etc/init.d/mysqld restart
    //重启数据库
    

    设置密码如果出现问题,还可以选择这个方法

    mysql_secure_installation
    

    回车,根据提示输入Y
    输入2次密码,回车
    根据提示一路输入Y

    开启mysql数据库远程访问权限

    use mysql;
    
    update user set host='%' where user='root';
    
    flush privileges;
    

    有可能会显示

    ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
    

    这说明host已经有了%这个值,所以可以直接运行命令

    flush privileges;
    

    然后在试图远程连接服务器数据库,再自己的电脑主机安装navicat for mysql

    安装好之后

    创建新的mysql连接,一定不要选择ssh连接,就选择常规连接,主机名填自己的服务器ip,用户名和密码就是自己设置的服务器用户名和密码

    然后就可以来创建wordpress使用的数据库表了

    CREATE DATABASE wordpress;
    Query OK, 1 row affected (0.00 sec)
    

    然后创建新用户及密码

    CREATE USER wordpressuser@localhost;
    Query OK, 0 rows affected (0.00 sec)
    
    SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
    Query OK, 0 rows affected (0.00 sec)
    

    创建wordpress数据库和用户联系

    GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
    Query OK, 0 rows affected (0.00 sec)
    

    2.安装php和其他的组件

    1.1安装php5

    yum install php
    

    1.2安装php其他组件

      yum install php-mysql php-fpm php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
    

    1.3启动php-fpm,查看是否监听端口以及地址

    /etc/init.d/php-fpm start
    chkconfig php-fpm on
    
    netstat -tunlp |grep 9000
    
    ps aux |grep php-fpm
    

    3.nginx安装和配置

    首先得安装一些必要的库,pcre、zlib等软件包

    yum -y install pcre* zlib*
    

    PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

    zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

    yum install gcc-c++
    

    安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

    yum install -y openssl openssl-devel
    

    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

    然后就是安装nginx

    $ cd /usr/local/
    $ wget http://nginx.org/download/nginx-1.8.0.tar.gz
    $ tar -zxvf nginx-1.8.0.tar.gz
    $ cd nginx-1.8.0  
    $ ./configure --prefix=/usr/local/nginx 
    $ make
    $ make install
    

    启动命令

    $ /usr/local/nginx/sbin/nginx
    

    检验一下是否成功

    打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功

    一些其他的命令

    重启:
    $ /usr/local/nginx/sbin/nginx –s reload
    
    停止:
    $ /usr/local/nginx/sbin/nginx –s stop
    
    测试配置文件是否正常:
    $ /usr/local/nginx/sbin/nginx –t
    
    强制关闭:
    $ pkill nginx
    

    可以想办法将nginx设定为系统服务,这样可以不用输入长串的命令来启动和重启

    1.1新建文件:vim /etc/init.d/nginx

    1.2在该文件添加如下的内容

    #!/bin/sh 
    # 
    # nginx - this script starts and stops the nginx daemon 
    # 
    # chkconfig:   - 85 15 
    # description: Nginx is an HTTP(S) server, HTTP(S) reverse  
    #               proxy and IMAP/POP3 proxy server 
    # processname: nginx 
    # config:      /etc/nginx/nginx.conf 
    # config:      /etc/sysconfig/nginx 
    # pidfile:     /var/run/nginx.pid 
     
    # Source function library. 
    . /etc/rc.d/init.d/functions 
     
    # Source networking configuration. 
    . /etc/sysconfig/network 
     
    # Check that networking is up. 
    [ "$NETWORKING" = "no" ] && exit 0 
     
    # 这里要根据实际情况修改
    nginx="/usr/local/nginx/sbin/nginx" 
    prog=$(basename $nginx) 
     
    # 这里要根据实际情况修改
    NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 
     
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
     
    lockfile=/var/lock/subsys/nginx 
     
    start() { 
        [ -x $nginx ] || exit 5 
        [ -f $NGINX_CONF_FILE ] || exit 6 
        echo -n $"Starting $prog: " 
        daemon $nginx -c $NGINX_CONF_FILE 
        retval=$? 
        echo 
        [ $retval -eq 0 ] && touch $lockfile 
        return $retval 
    } 
     
    stop() { 
        echo -n $"Stopping $prog: " 
        killproc $prog -QUIT 
        retval=$? 
        echo 
        [ $retval -eq 0 ] && rm -f $lockfile 
        return $retval 
        killall -9 nginx 
    } 
     
    restart() { 
        configtest || return $? 
        stop 
        sleep 1 
        start 
    } 
     
    reload() { 
        configtest || return $? 
        echo -n $"Reloading $prog: " 
        killproc $nginx -HUP 
        RETVAL=$? 
        echo 
    } 
     
    force_reload() { 
        restart 
    } 
     
    configtest() { 
        $nginx -t -c $NGINX_CONF_FILE 
    } 
     
    rh_status() { 
        status $prog 
    } 
     
    rh_status_q() { 
        rh_status >/dev/null 2>&1 
    } 
     
    case "$1" in 
        start) 
            rh_status_q && exit 0 
            $1 
            ;; 
        stop) 
            rh_status_q || exit 0 
            $1 
            ;; 
        restart|configtest) 
            $1 
            ;; 
        reload) 
            rh_status_q || exit 7 
            $1 
            ;; 
        force-reload) 
            force_reload 
            ;; 
        status) 
            rh_status 
            ;; 
        condrestart|try-restart) 
            rh_status_q || exit 0 
            ;; 
        *)    
          echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
            exit 2 
    esac 
    

    1.3修改权限并开机启动

    修改权限:chmod 755 /etc/init.d/nginx

    开机启动:chkconfig nginx on

    1.4这个时候的启动命令

    启动服务:service nginx start
    停止服务:service nginx stop
    重启服务:service nginx reload
    

    这个时候修改nginx的nginx.conf配置文件

    vim /usr/local/nginx/conf/nginx.conf
    location ~ \.php$ {
    
    root html;
    
    fastcgi_pass 127.0.0.1:9000;
    
    fastcgi_index index.php;
    
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
    include fastcgi_params;
    
    }
    一定要注意将此处的scripts改成$document_root
    然后在上方
    location / {
    
    root html;
    
    index index.php index.html index.htm;
    
    }
    加入index.php选项
    

    现在我们来测试下,nginx有关php的配置是否正确。编辑index.php文件,加入<?php phpinfo();?>,如下:

    vi ./html/index.php

    并删除index.html

    rm -f ./hrml/index.html

    service nginx reload生效

    再次打开自己的ip地址

    如果出现phpinfo()界面则成功

    4.wordpress安装和配置

    1.1安装

    wget http://wordpress.org/latest.tar.gz
    tar-xzvf latest.tar.gz
    

    1.2配置

    cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
    sudo nano ~/wordpress/wp-config.php
    
    然后修改数据库名,用户名和密码
    // ** MySQL settings - You can get this info from your web host ** //
    /** The name of the database for WordPress */
    define('DB_NAME', 'wordpress');
    
    /** MySQL database username */
    define('DB_USER', 'wordpressuser');
    
    /** MySQL database password */
    define('DB_PASSWORD', 'password');
    

    这个时候你重启nginx,重启数据库你就会发现,你可以进入到wordpress安装界面,开始你的安装吧

    相关文章

      网友评论

        本文标题:linux、nginx、php、mysql环境下搭建wordpr

        本文链接:https://www.haomeiwen.com/subject/yfalmxtx.html