如何在LEMP配置上安装WordPress

介绍

在本教程中,您将学习如何在新创建的实例上安装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密码。设置了根密码后,我们将不得不告诉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)。让我们通过符号链接启用服务器块:

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;

添加使用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。

sudo service php5-fpm restart

第七步:设置MySQL数据库

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

mysql -u root -p

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

从存档中提取它:

tar -xzvf latest.tar.gz

/var/www/wordpresswww-data用户授予权限。它将允许将来自动更新WordPress插件和使用SFTP进行文件编辑。

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

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



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息