在ubuntu 20 上安装 wordpress lemp

本文通过学习 how-to-install-wordpress-with-lemp-on-ubuntu-20-04而来,所以也可以参看原文。

在本教程中,将集中精力在Ubuntu 20.04服务器的LEMP堆栈(Linux,Nginx,MySQL和PHP)上设置WordPress实例。

这个安装的前提条件是在ubuntu 20 上已经安装好了lemP。如果还没有,可以参考:

在Ubuntu20 上安装 LEMP WEB服务

为wordpress 建立数据库和用户

sudo mysql  或 sudo -u root -p 进入mysql

建立数据库 wordpress:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

建立用户并给与权限:
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';

FLUSH PRIVILEGES;

exit;

退出回到shell下。

验证我们建立的数据库,用户名,密码是否有效。

用你建立的用户名登录,提示输入密码。进入mysql后,

use wordpress 然后show tables; 还没表,确认基本正常。

mysql -u leon -p
Enter password:
mysql> use wordpress
Database changed
mysql> show tables;
Empty set (0.00 sec)

安装PHP 扩展

在lemp 主机中,已经安装好了PHP,但为了wordpress ,我们还需要安装一些扩展。

先update :

sudo apt update

然后安装:

sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

更新重新启动php 服务:

sudo systemctl restart php7.4-fpm

配置 Nginx

对于虚拟主机,每个域名应该有一个配置文件,便于管理,如果主机只有一个域名,那可以直接配置或者修改default 文件即可。

配置的模式基本是:配置文件在/etc/nginx/sites-available 中,开始的时候只有一个default,你要配置一个域名虚拟主机,你可以复制这个文件为,比如example,然后在上修改。修改好之后,你可以:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
这样就生效了,或者使能了。这里只是在 /etc/nginx/sites-enabled/ 建立一个symbol link ,符号连接,不要或者取消时,可以 rm symlink_name  或者 unlink symlink_name

我这只是一个域名,所以直接修改 default 。

sudo nano /etc/nginx/sites-available/default

进行编辑:

在server { } 里添加以下内容。

server {
    . . .

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
    . . .
}

在index 部分,注意添加  index.php 

index index.php index.html index.htm index.nginx-debian.html;

修改404 部分, 就是注销404 那行,下面加

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

location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                #try_files $uri $uri/ =404;
                try_files $uri $uri/ /index.php$is_args$args;
        }

 确保下面的php内容,这应该在安装LEMP 里做好了的修改。

# pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }

保存并退出.

检查配置是否有错误:

sudo nginx -t

重新导入nginx 配置,使我们的配置修改生效:

sudo systemctl reload nginx

下载 WordPress

切换到一个可写目录,比如

cd / tmp

然后通过键入以下命令下载最新的压缩版本:

curl -LO https://wordpress.org/latest.tar.gz

解压形成一个wordpress目录 

tar xzvf latest.tar.gz

在复制之前,

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

然后复制到我们的目标目录

sudo cp -a /tmp/wordpress/. /var/www/html

文件内容已到位,下面更改文件的所有权,即 owner

sudo chown -R www-data:www-data /var/www/html

设置 wordpress 的配置文件

打开配置文件后,首先要调整一些密钥,为我们的安装提供一定的安全性。 WordPress为这些值的生成提供了密钥生成器。 这样我们拥有复杂,安全的密码而不影响可用性。

输入下面的命令:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

这样会产生密钥,我这密钥中间有 Do not copy these values,就是不要复制下面的密钥,而要用你产生的,否则就不密了。

define('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

下面开始编辑文件

sudo nano /var/www/wordpress/wp-config.php

 找到如下位置:

. . .

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');

. . .

复制你上面命令产生的密钥内容,替换这段内容。

. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

这样加密的工作做好了。

下面修改数据库连接,就是找到下面这个部分,修改数据库名,用户名,用户密码。

还有一项更改是设置WordPress用于写入文件系统的方法。 由于已授予了Web服务器写入所需位置的权限,因此可以将文件系统方法显式设置为“直接”。 如果不使用当前设置对此进行设置,则当我们执行某些操作时,WordPress会提示输入FTP凭据。 将此设置项添加到数据库连接设置下或者文件中的其他任何位置:

. . .

define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

. . .

define( 'FS_METHOD', 'direct' );

保存并退出文件的修改。系统就做好了。

通过web 界面完成wordpress 的安装

在浏览器上输入主机的ip 地址,或者域名(如果域名绑定了的话),就开始wordpress 的Web 安装了。

第一个页面是选择语言

第二个输入标题,用户名,email,密码,然后点击 安装(install wordpress)

安装后再登录界面,然后进入wordpress 的管理界面了。

整个安装就到此,谢谢阅读。

猜你喜欢

转载自blog.csdn.net/leon_zeng0/article/details/113577439