Rocky Linux 8 使用 Nginx 安装 Craft CMS

Craft CMS 是一个免费的开源内容管理系统,用 PHP 编写并建立在 Yii 框架上。 它专为希望从 CMS 获得更多控制和更强大性能的网站所有者而设计。 它是安全的、可扩展的,并提供了许多插件,允许我们向我们的网站添加更多功能。 Craft CMS 为内容创建和管理任务提供了一个直观、用户友好的控制面板。

在这个分步指南中,我们将向我们展示 Rocky Linux 8 上使用 Nginx 安装 Craft CMS。

先决条件

  • 在 云平台上运行 Rocky Linux 8 的服务器
  • 在我们的服务器上配置了 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Rocky Linux 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

dnf update -y

第 2 步 – 安装 Nginx、PHP 和 MariaDB

首先,我们需要在服务器上安装 Nginx Web 服务器、MariaDB 数据库、PHP 和其他必需的扩展。 我们可以使用以下命令安装所有这些:

dnf install nginx mariadb-server php php-cli php-fpm php-common php-curl php-gd php-json php-mbstring php-mysqli php-pgsql php-zip php-intl php-xml php-pdo -y

安装所有包后,编辑 php.ini 文件并更改一些推荐设置:

nano /etc/php.ini

更改以下设置:

memory_limit = 256M
date.timezone = Asia/Kolkata

保存并关闭文件,然后编辑 php-fpm 配置文件并将用户和组从 apache 更改为 nginx:

nano /etc/php-fpm.d/www.conf

更改以下行:

user = nginx 
group = nginx 

保存并关闭文件,然后启动 Nginx、MariaDB 和 PHP-FPM 服务并使它们在系统重启时启动:

systemctl start nginx mariadb php-fpm
systemctl enable nginx mariadb php-fpm

第 3 步 – 创建数据库和用户

接下来,我们需要为 Craft CMS 创建一个数据库和用户。 首先,使用以下命令登录 MySQL:

mysql

登录后,使用以下命令创建数据库和用户:

create database craftdb;
grant all on craftdb.* to craftuser@localhost identified by 'securepassword';

接下来,使用以下命令刷新权限并退出 MariaDB:

flush privileges;
quit;

第 4 步 – 安装 Composer

Composer 是 PHP 的依赖管理器,用于解决项目的 PHP 依赖关系。

首先,使用以下命令下载 Composer 设置 PHP 文件:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

接下来,获取 Composer 哈希值并将其与下载的文件匹配:

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

如果一切正常,我们应该得到以下输出:

Installer verified

接下来,运行以下命令将 Composer 安装到我们的系统:

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

安装 Composer 后,使用以下命令验证 Composer 版本:

composer -V

我们应该得到以下输出:

Composer version 2.1.8 2021-09-15 13:55:14

第 5 步 – 安装 Craft CMS

首先,导航到 Nginx Web 根目录并使用 Composer 下载最新版本的 Craft CMS:

cd /var/www/html/
composer create-project craftcms/craft craft

在安装过程中,我们将被要求提供数据库凭据、管理员用户名、密码和 Craft URL,如下所示:

> @php craft setup/welcome

   ______ .______          ___       _______ .___________.
  /      ||   _  \        /   \     |   ____||           |
 |  ,----'|  |_)  |      /  ^  \    |  |__   `---|  |----`
 |  |     |      /      /  /_\  \   |   __|      |  |
 |  `----.|  |\  \----./  _____  \  |  |         |  |
  \______|| _| `._____/__/     \__\ |__|         |__|
 
     A       N   E   W       I   N   S   T   A   L   L
               ______ .___  ___.      _______.
              /      ||   \/   |     /       |
             |  ,----'|  \  /  |    |   (----`
             |  |     |  |\/|  |     \   \
             |  `----.|  |  |  | .----)   |
              \______||__|  |__| |_______/


Generating an application ID ... done (CraftCMS--be1f09c9-cd35-4bfe-a01b-d611282eea19)
Generating a security key ... done (HaBt-G01s1pwVPNXmb1iAQZDI0M1lpuh)

Welcome to Craft CMS!

Are we ready to begin the setup? (yes|no) [no]:yes
Generating an application ID ... done (CraftCMS--f06f8153-f389-4603-97b7-c683b8cd422d)

Which database driver are we using? [mysql,pgsql,?]: mysql
Database server name or IP address: [127.0.0.1] 
Database port: [3306] 
Database username: [root] craftuser
Database password: 
Database name: craftdb
Database table prefix: 
Testing database credentials ... success!
Saving database credentials to wer .env file ... done

Install Craft now? (yes|no) [yes]:yes
Username: [admin] 
Email: admin@example.com
Password: 
Confirm: 
Site name: mysite
Site URL: http://craft.example.com
Site language: [en-US] 
installed Craft successfully (time: 6.230s)

Generating project config files from the loaded project config ... done

接下来,将 Craft CMS 目录和 PHP 会话目录的所有权更改为 Nginx:

chown -R nginx:nginx /var/www/html/craft
chown -R nginx:nginx /var/lib/php/session

第 6 步 – 为 Craft CMS 配置 Nginx

接下来,我们需要为 Craft CMS 创建一个 Nginx 虚拟主机配置文件。 我们可以使用以下命令创建它:

nano /etc/nginx/conf.d/craft.conf

添加以下配置:

server {

  listen 80;
  server_name craft.example.com;
  root /var/www/html/craft/web;
  index index.php;


  location / {
    try_files $uri/index.html $uri $uri/ /index.php?$query_string;
  }

  location ~ [^/]\.php(/|$) {
    try_files $uri $uri/ /index.php?$query_string;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param HTTP_PROXY "";
  }

}

保存文件,然后使用以下命令验证 Nginx 配置:

nginx -t

我们应该得到以下输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

请注意,如果我们收到此警告消息:

nginx: [emerg] could not build server_names_hash, we should increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed

我们必须编辑 /etc/nginx.nginx.conf 文件并将此行添加到服务器块之前:

server_names_hash_bucket_size 64;

最后,重新启动 Nginx 服务以应用更改:

systemctl restart nginx

第 7 步 – 访问 Craft CMS

现在,打开我们的网络浏览器并使用 URL http://craft.example.com 访问 Craft CMS 网站。 我们应该看到以下屏幕:
工艺欢迎页面

单击转到我们的控制面板。 我们将被重定向到 Craft CMS 登录页面:
工艺登录页面

提供我们的管理员用户名和密码,然后单击登录按钮。 我们应该在以下屏幕上看到 Craft CMS 仪表板:
制作仪表板页面

现在就是这样。 我们已在 RockyLinux 8 上成功安装了带有 Nginx 的 Craft CMS。我们可以从 Craft CMS 仪表板轻松开始开发我们的网站。 在 的专用服务器托管上试一试。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论