sql >> Databasteknik >  >> RDS >> Mysql

Installerar WordPress 5 på ZEIT nu med MySQL Hosting

ZEIT @now/wordpress-byggaren har officiellt fasats ut, och ZEIT kan inte garantera prestanda/tillförlitlighet för @ now/php community builder.

Vill du distribuera WordPress 5.0 på Now-plattformen av ZEIT? Våra vänner på ZEITs Now globala serverlösa distributionsplattform skapade en bra handledning för WordPress5-on-Now med hjälp av billiga MySQL-värdinstanser från ScaleGrid. Med ett så stort intresse för den här installationen bestämde vi oss för att skriva upp stegen för att konfigurera din MySQL-databas på ScaleGrid-sidan för att få dig igång allt snabbare med WordPress on Now.

Så varför behöver du MySQL-hosting med ZEIT Now? Fokuserar nu på att vara den bästa plattformen för serverlös värd, men du måste hitta ett sätt att lagra din data permanent. Det är där ScaleGrid kommer in. Du kan konfigurera fullt hanterad MySQL på Azure för så lite som $8/månad för enbart hantering, eller $18/månad med värd inkluderat på dedikerade servrar.

Det bästa är att allt du behöver göra är att ställa in den och sedan körs din MySQL-databas på autopilot så att du kan hålla dina utvecklingsinsatser fokuserade på produkt kontra dessa tidskrävande databasoperationer. Låt oss komma igång!

Konfigurera din MySQL-databas för WordPress på ZEIT nu

Skapa en MySQL-databas i ScaleGrid

  1. Registrera dig för en gratis 30-dagars provperiod på ScaleGrid-konsolen.
  2. Skapa ditt första MySQL-kluster. Se till att skapa den i en region som matchar din Nu-distributionsregion. Vi stöder två olika MySQL DBaaS-planer (jämför MySQL-planer):
    • Dedikerat MySQL-kluster – värd via ditt ScaleGrid-konto.
    • BYOC MySQL Cluster – Hosted via ditt eget Azure-konto.
    • VIKTIG ANMÄRKNING – När du skapar ett ScaleGrid-kluster måste du vitlista alla IP-adresser (0.0.0.0/0) i steg 4. Brandväggsregler. Detta beror på att IP-adresserna för ZEIT Now-distributioner är dynamiska och oförutsägbara, och du kan lära dig mer i dokumentet Hur lägger jag till mina implementeringar i en lista över vitlistade IP-adresser.
  3. När ditt kluster är konfigurerat, gå till sidan med MySQL-klusterdetaljer, välj fliken "Databaser" och klicka på den gröna knappen "Ny databas" .
  4. I fönstret "Skapa en ny databas" som dyker upp anger du bara ett namn för din databas och klickar på "Skapa".
  5. Din databas kommer nu att skapas! Du kan komma åt den när som helst under fliken "Databaser" i ditt MySQL-kluster. Skriv ner ditt databasnamn så att du kan använda det i våra senare steg med ZEIT Now.

Skapa en ny användare för din MySQL-databas

  1. Gå till din MySQL-klusterinformationssida, välj fliken Användare och klicka på knappen Ny användare.
  2. I fönstret 'Ny användare' väljer du den databas du just skapade från rullgardinsmenyn 'Välj databaser som användare har åtkomstbehörighet'.
  3. Ange ett "namn" och "lösenord" för den nya användaren.
  4. I rullgardinsmenyn Roll, se till att välja "Läs - Skriv" som roll så att den nya användaren har fullständiga skrivbehörigheter för denna databas.
  5. Klicka på "Skapa" så skapas din nya användare! Skriv ner ditt nya databasanvändarnamn och lösenord så att du kan använda det när du ställer in ZEIT Now på WordPress.

Ta tag i värdnamnet för din MySQL-distribution

  1. Gå till sidan med MySQL-klusterdetaljer och välj fliken "Översikt".
  2. Hitta avsnittet Kommandoradssyntax längst ner på sidan för att se kommandot som kan användas för att ansluta din MySQL-distribution via mysql-klienten.
  3. Servernamnet efter alternativet '-h' är värdnamnet för din MySQL-distribution, och i det här specifika fallet är det 'SG-help- 1-master.devservers.scalegrid.io'.
  4. Anteckna ditt MySQL-värdnamn för att använda i våra nästa steg med ZEIT Now och WordPress.

Hämta din ca.pem-fil

  1. Gå till din MySQL-klusterinformationssida och välj fliken "Översikt".
  2. Om din MySQL-distribution är SSL-aktiverad, kommer du att se avsnittet "SSL-certifikat"
  3. Klicka på länken "Hämta SSL CA-certifikat" för att se innehållet i ditt CA-certifikat och kopiera innehållet till din ca.pem-fil.

Du har nu allt du behöver för att ställa in din WordPress på ZEIT Now med MySQL-instanser! Stegen som beskrivs i handledningen nedan har utvecklats av ZEIT Now, och du kan läsa de ursprungliga instruktionerna här på WordPress5-on-Now eller följa nedan.

Installera WordPress 5 på ZEIT nu med MySQL HostingClick To Tweet

Konfigurera WordPress 5 på ZEIT nu

Installera nu. npm i -g now om det är ont om tid. Konfigurera en databas i en moln-SQL-värdleverantör som ScaleGrid. Se till att du väljer en plats som matchar en Nu-distributionsregion. Skapa en wp-config.php fil och en now.json fil. Din now.json filen kommer att ställa in @now/wordpress byggare och några rutter:

{
  "version": 2,
  "builds": [
    { "src": "wp-config.php", "use": "@now/wordpress" }
  ],
  "routes": [
    { "src": "/wp-admin/?", "dest": "index.php" },
    { "src": ".*\\.php$", "dest": "index.php" }
  ],
  "env": {
    "DB_NAME": "@wordpress_db_name",
    "DB_USER": "@wordpress_db_user",
    "DB_PASSWORD": "@wordpress_db_password",
    "DB_HOST": "@wordpress_db_host"
  }
}

Lägg märke till att det syftar på några hemligheter som @wordpress_db_name . Du kan skapa dessa med now secret add . Min wp-config.php ser ut som följer. Observera att vi använder MySQL över TLS av säkerhetsskäl.

<?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', $_ENV['DB_NAME']);

/** MySQL database username */
define('DB_USER', $_ENV['DB_USER']);

/** MySQL database password */
define('DB_PASSWORD', $_ENV['DB_PASSWORD']);

/** MySQL hostname */
define('DB_HOST', $_ENV['DB_HOST']);

/** 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',         'WPSALT');
define('SECURE_AUTH_KEY',  'WPSALT');
define('LOGGED_IN_KEY',    'WPSALT');
define('NONCE_KEY',        'WPSALT');
define('AUTH_SALT',        'WPSALT');
define('SECURE_AUTH_SALT', 'WPSALT');
define('LOGGED_IN_SALT',   'WPSALT');
define('NONCE_SALT',       'WPSALT');

/**#@-*/

/**
 * 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_';

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

define( 'WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] );
define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] );
define( 'WP_CONTENT_URL', 'https://' . $_SERVER['HTTP_HOST'] . '/wp-content' );

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

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
        define('ABSPATH', dirname(__FILE__) . '/');

define( 'MYSQL_SSL_CA', ABSPATH . 'ca.pem' );
define( 'MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL );

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

Se till att ändra din WPSALT till en slumpmässig sträng eller en hemlighet som skickas som $_ENV . Slutligen skapade vi en ca.pem fil nedladdad från ScaleGrid. Detta är endast nödvändigt när du använder MySQL över TLS. Det är allt! Kör sedan now för att distribuera eller git push om du konfigurerade Now + GitHub.

Om det finns några andra scenarier där du skulle vilja använda ZEIT med ScaleGrids värd- och hanteringsplaner för MySQL, MongoDB®, Redis™* eller PostgreSQL, lämna oss en kommentar nedan så skriver vi dem gärna! Dela också eventuella frågor i våra kommentarer eller på Twitter på @scalegridio så följer vi upp för att hjälpa dig.

För att lära dig hur du snabbar upp din WordPress-installation med Redis Caching, kolla in vårt inlägg Använd Redis Object Cache för att snabba upp din WordPress-installation.


  1. Vad är det mest effektiva sättet att kontrollera om en post finns i Oracle?

  2. Vad är SQLite

  3. Använder kapslade transaktioner i Oracle

  4. Hur använder man en SQL for loop för att infoga rader i databasen?