如何在LEMP环境下安装WordPress

作者: 丘山 分类: Vultr中文文档 发布时间: 2018-06-24 18:31

介绍

在本教程中,您将学习如何在新创建的实例上安装WordPress。我将在Ubuntu 14.04服务器上演示安装。这些说明也可能适用于较早版本的Ubuntu和Debian。

那么,我们开始吧。

第一步:更新现有的软件包

apt-get update && apt-get upgrade

第二步:安装Nginx

Nginx是一款高性能的轻量级Web服务器,其特点和优势是,通过有效使用系统资源,可以提供大量静态内容。与Apache不同,Nginx使用异步事件驱动模型,在大负载的情况下可以提供更值得期待的性能。

我们添加第三方软件源以安装最新版本的Nginx(1.6.1)。

sudo apt-get install python-software-properties add-apt-repository -y ppa:rtcamp/nginx sudo apt-get update sudo apt-get install nginx service nginx start

现在,让我们来测试服务器是否启动并运行。

http://YOUR-VPS-IP

这会带你到Nginx的默认登陆页面。

第三步:安装PHP 5.5

PHP是一种广泛使用的开源通用脚本语言,特别适用于Web开发,并且可以嵌入到HTML中。

让我们在我们的服务器上安装最新版本的PHP。

sudo add-apt-repository ppa:ondrej/php5 sudo apt-get update sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt

如果你想检查你的PHP版本,运行以下命令:

php -v

你会看到类似这样的输出。

PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

现在,我们将稍作修改以使设置更安全。以root权限打开主php5-fpm配置文件:

sudo nano /etc/php5/fpm/php.ini

按下Ctrl + W并搜索cgi.fix_pathinfo=。取消注释(删除行首的英文分号”;”)并将1更改为0.更改后,该行应如下所示:

cgi.fix_pathinfo=0

保存( Ctrl + O )并关闭文件( Ctrl + X )。

现在,我们只需要重新启动我们的PHP处理器,输入:

sudo service php5-fpm restart

第四步:安装MySQL

为了存储和管理数据库,我们需要安装MySQL。您可以通过在控制台中输入以下内容轻松安装它:

sudo apt-get install mysql-server

在安装过程中,您将被要求为MySQL设置一个root密码。设置了root密码后,我们需要告诉MySQL生成它将用来存储数据库的目录结构。

sudo mysql_install_db

让我们通过运行一个安全脚本来完成它,它将修改一些默认配置以增强安全性。

sudo mysql_secure_installation

只需输入MySQL root密码,如果你不想改变当前密码,输入n。之后,在每个问题上输入y


设置时区(根据需要操作)

默认情况下,服务器的时区是UTC。如果您生活在不同的时区,可以通过输入以下命令来更改它:

sudo dpkg-reconfigure tzdata


此时,您的LEMP服务器已启动并正在运行。

第五步:配置Nginx来为WordPress提供服务

让我们通过为我们的网站创建一个Nginx服务器块来开始我们的Wordpress安装。

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

将以下代码粘贴到那里:

server { listen 80; root /var/www/wordpress; index index.php index.html index.htm; server_name domain.com; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location / { # try_files $uri $uri/ =404; try_files $uri $uri/ /index.php?q=$uri&$args; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location = /favicon.ico { access_log off; log_not_found off; expires max; } location = /robots.txt { access_log off; log_not_found off; } # Cache Static Files For As Long As Possible location ~* \.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { access_log off; log_not_found off; expires max; } # Security Settings For Better Privacy Deny Hidden Files location ~ /\. { deny all; access_log off; log_not_found off; } # Return 403 Forbidden For readme.(txt|html) or license.(txt|html) if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") { return 403; } # Disallow PHP In Upload Folder location /wp-content/uploads/ { location ~ \.php$ { deny all; } } }

这是一个针对WordPress做了相应调整的的配置文件的很好示例,可以长期使用,它可以保证效率、安全。保存( Ctrl + O )并关闭文件( Ctrl + X )。让我们通过symlinking启用服务器块:

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress

接下来,我们将删除Nginx默认开启的站点。

sudo rm /etc/nginx/sites-enabled/default

现在,我们将调整主要的Nginx配置文件:

sudo nano /etc/nginx/nginx.conf

确保工作进程的数量等于实例中的核心数量。

user www-data; worker_processes 1; pid /run/nginx.pid;

添加use epoll;到事件块。

events { worker_connections 4096; multi_accept on; use epoll; }

添加client_max_body_sizeserver_tokens off指令。将keepalive_timeout设置为30秒。

## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 30; types_hash_max_size 2048; server_tokens off; client_max_body_size 100m; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream;

确保整个Gzip设置块如下所示:

## # Gzip Settings ## gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

保存( Ctrl + O )并关闭文件( Ctrl + X )。然后重新启动服务器:

sudo service nginx restart

第六步:配置PHP

如果您想将超过2mb的文件上传到您的WordPress网站,您必须在php.ini中增加PHP上传大小变量。

sudo nano /etc/php5/fpm/php.ini

现在,按Ctrl + W并搜索” upload_max_filesize “并将其设置为100m

upload_max_filesize=100M

post_max_size做同样的事情。post_max_size需要与upload_max_filesize相同或更大。

post_max_size=100M

重新启动PHP-FPM。

sudo service php5-fpm restart

第七步:建立MySQL数据库

在这一步中,我们将创建数据库用户和表。继续并登录到MySQL shell:

mysql -u root -p

使用您的MySQLroot密码登录。我们需要创建一个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)

然后刷新MySQL权限:

FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)

退出MySQL shell:

exit

第八步:安装WordPress文件

就要完成了,现在我们开始安装WordPress。

首先导航到网站根目录:

mkdir /var/www/ cd /var/www/

现在,下载最新版本的WordPress:

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

从压缩包中提取WordPress程序:

tar -xzvf latest.tar.gz

/var/www/wordpress的所有者更改为www-data用户。它将允许将来自动更新WordPress插件,以及使用SFTP进行文件编辑。

sudo chown -R www-data:www-data wordpress/ sudo usermod -a -G www-data www-data

你完成了!您的新WordPress网站已准备就绪。只需导航到您的网站并完成安装。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注