Wordpress+LNMP 環境搭建筆記

2017-08-22 11:23:39


一、搭建LNMP環境(Centos 6.8 64)


1、使用 yum 安裝 Nginx:

   yum install nginx -y

2、修改 /etc/nginx/conf.d/default.conf,去除對 IPv6 地址的監聽

    ,可參考下面的示例:

    server {

    listen       80 default_server;

    # listen       [::]:80 default_server;

    server_name  _;

    root         /usr/share/nginx/html;


    # Load configuration files for the default server block.

    include /etc/nginx/default.d/*.conf;


    location / {

    }

    error_page 404 /404.html;

        location = /40x.html {

    }

    error_page 500 502 503 504 /50x.html;

        location = /50x.html {

    }


    }  

3、修改完成後,啓動 Nginx:

   /etc/init.d/nginx start

4、將 Nginx 設置爲開機自動啓動:

   chkconfig nginx on

5、使用 yum 安裝 MySQL:

   yum install mysql-server -y

6、安裝完成後,啓動 MySQL 服務:

   service mysqld restart

7、設置 MySQL 賬戶 root 密碼:

   /usr/bin/mysqladmin -u root password 'MyPas$word4Word_Press'

8、將 MySQL 設置爲開機自動啓動:

   chkconfig mysqld on

9、使用 yum 安裝 PHP:

    yum install php-fpm php-mysql -y

10、安裝之後,啓動 PHP-FPM 進程:

    service php-fpm start

11、啓動之後,可以使用下面的命令查看 PHP-FPM 進程監聽哪個端口 

    netstat -nlpt | grep php-fpm

12、把 PHP-FPM 也設置成開機自動啓動:

    chkconfig php-fpm on

二、安裝 WordPress

1、配置好 LNMP 環境後,繼續使用 yum 來安裝 WordPress:

   yum install wordpress -y

   安裝完成後,就可以在 /usr/share/wordpress 看到 WordPress 的源代碼了。

2、配置數據庫

   進入 MySQL:

   mysql -uroot --password='MyPas$word4Word_Press'

   爲 WordPress 創建一個數據庫:

   CREATE DATABASE wordpress;

   MySQL 部分設置完了,我們退出 MySQL 環境:

   exit

3、把上述的 DB 配置同步到 WordPress 的配置文件中,(建議使用比較工具找出需要更改的地方)

   可參考下面的配置:(按照下面的參考更改/etc/wordpress/wp-config.php文件)

   <?php

   /**

   * The base configuration for WordPress

   *

   * The wp-config.php creation script uses this file during the

   * installation. You don't have to use the web site, you can

   * copy this file to "wp-config.php" and fill in the values.

   *

   * This file contains the following configurations:

   *

   * * MySQL settings

   * * Secret keys

   * * Database table prefix

   * * ABSPATH

   *

   * @link https://codex.wordpress.org/Editing_wp-config.php

   *

   * @package WordPress

   */

   

   // ** 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', 'root');


   /** MySQL database password */

   define('DB_PASSWORD', 'MyPas$word4Word_Press');


   /** MySQL hostname */

   define('DB_HOST', 'localhost');


   /** Database Charset to use in creating database tables. */

   define('DB_CHARSET', 'utf8');


   /** The Database Collate type. Don't change this if in doubt. */

   define('DB_COLLATE', '');


   /**#@+

   * Authentication Unique Keys and Salts.

   *

   * Change these to different unique phrases!

   * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}

   * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.

   *

   * @since 2.6.0

   */

  define('AUTH_KEY',         'put your unique phrase here');

  define('SECURE_AUTH_KEY',  'put your unique phrase here');

  define('LOGGED_IN_KEY',    'put your unique phrase here');

  define('NONCE_KEY',        'put your unique phrase here');

  define('AUTH_SALT',        'put your unique phrase here');

  define('SECURE_AUTH_SALT', 'put your unique phrase here');

  define('LOGGED_IN_SALT',   'put your unique phrase here');

  define('NONCE_SALT',       'put your unique phrase here');


  /**#@-*/


  /**

   * WordPress Database Table prefix.

   *

   * You can have multiple installations in one database if you give each

   * a unique prefix. Only numbers, letters, and underscores please!

   */

   $table_prefix  = 'wp_';


  /**

   * See http://make.wordpress.org/core/2013/10/25/the-definitive-guide-to-disabling-auto-updates-in-wordpress-3-7

   */


  /* Disable all file change, as RPM base installation are read-only */

  define('DISALLOW_FILE_MODS', true);


  /* Disable automatic updater, in case you want to allow

   above FILE_MODS for plugins, themes, ... */

  define('AUTOMATIC_UPDATER_DISABLED', true);


  /* Core update is always disabled, WP_AUTO_UPDATE_CORE value is ignore */


  /**

   * For developers: WordPress debugging mode.

   *

   * Change this to true to enable the display of notices during development.

   * It is strongly recommended that plugin and theme developers use WP_DEBUG

   * in their development environments.

   *

   * For information on other constants that can be used for debugging,

   * visit the Codex.

   *

   * @link https://codex.wordpress.org/Debugging_in_WordPress

   */

  define('WP_DEBUG', false);


  /* That's all, stop editing! Happy blogging. */

  

  /** Absolute path to the WordPress directory. */

  if ( !defined('ABSPATH') )

      define('ABSPATH', '/usr/share/wordpress');


  /** Sets up WordPress vars and included files. */

  require_once(ABSPATH . 'wp-settings.php');

4、WordPress 已經安裝完畢,我們配置 Nginx 把請求轉發給 PHP-FPM 來處理

   首先,重命名默認的配置文件:

   cd /etc/nginx/conf.d/

   mv default.conf defaut.conf.bak


5、在 /etc/nginx/conf.d 創建 wordpress.conf 配置,參考下面的內容:

    server {

    listen 80;

    root /usr/share/wordpress;

    location / {

        index index.php index.html index.htm;

        try_files $uri $uri/ /index.php index.php;

    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

    location ~ .php$ {

        fastcgi_pass   127.0.0.1:9000;

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

        include        fastcgi_params;

    }

   }


6、配置後,通知 Nginx 進程重新加載:

   nginx -s reload


7、自己×××器,找IP,剩下就是你自己的事了。

wKioL1mbpYTgBkd3AAbIDDyV8Ik878.png-wh_50