如何在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

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 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。