在 Ubuntu 22.04 中配置 LNMP 并安装 WordPress (1)

千夏的博客从 2016 年开始就一直跑在一台 768MB RAM 的 OpenVZ 小主机上,最近考虑迁移到别的提供商去,于是在这里记录一下安装过程。

新机器配置为
1C2T CPU, 1GB RAM, KVM, Ubuntu 22.04

什么是 LNMP?

LAMP 堆栈是一组安装在一起的开源软件,使服务器能够托管用 PHP 编写的动态网站和 Web 应用程序。LNMP 是一个缩写词,由在 Linux 操作系统上运行的 Nginx Web 服务器、负责存储数据的 MySQL 数据库,处理动态内容的 PHP 组成。 

安装 Nginx

首先来安装 Nginx 并开放 80 443 端口

# 设置一下 Time Zone
sudo timedatectl set-timezone Asia/Tokyo
sudo apt update
sudo apt install nginx
sudo ufw allow 80
sudo ufw allow 443

这时候访问 http://your_server_ip 应该就能看到 Nginx 欢迎页了

安装并配置 MySQL

接下来安装 MySQL。在安装前需要注意的一点是 MySQL 默认配置会吃很多 RAM,如果你的 VPS 没有配置 Swap 的话建议先配置好 Swap,以防止后续操作中 RAM 不足出现问题。

sudo apt install mysql-server
# 执行一下 MySQL 预装的安全脚本
# 该脚本将删除一些不安全的默认设置并锁定对数据库系统的访问
# 如果你没有特殊需要,则全部输入 y 并回车即可
# password validation policy 建议选择 STRONG Length,并设置一个 80 分以上的密码
sudo mysql_secure_installation
# 接下来试着登入一下 MySQL(输入 exit 并回车即可退出)
mysql -u root -p

由于机器 RAM 不是很大,并且 WordPress 并不需要太高的性能,所以我们优化一下 MySQL 的 设置来降低 RAM 使用。我们需要在 /etc/mysql/my.cnf 中加入以下内容

[mysqld]
performance_schema = off
# 基础内存配置
key_buffer_size = 8M
innodb_buffer_pool_size = 64M
innodb_log_buffer_size = 1M

# 限制连接相关的内存消耗
max_connections = 20
thread_cache_size = 4
table_open_cache = 64

# 减少临时表内存使用
tmp_table_size = 16M
max_heap_table_size = 16M

# 调整 InnoDB 配置
innodb_flush_log_at_trx_commit = 2

安装并配置 PHP

PHP 的安装虽然简单,但如果直接执行 apt install php 的话则会把 Apache 也安装上。这是因为依赖关系处理的问题(默认会优先使用 libapache2-mod-php,并且这个软件包依赖于 Apache)https://askubuntu.com/questions/1160433/how-to-install-php-without-apache-webserver

# 直接安装的话就会变成下面这样,把 apache 的包也装上
sudo apt install php php-fpm php-mysql
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils bzip2 file libapache2-mod-php8.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libjansson4 liblua5.3-0 mailcap mime-support php-common php8.1 php8.1-cli php8.1-common php8.1-fpm php8.1-mysql
  php8.1-opcache php8.1-readline psmisc ssl-cert

解决方法是先安装 php-fpm,这样依赖关系就不会有问题了

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

接下来调整一下 php.ini 的设置,我安装的版本是 php8.1 如果你是其它版本的话请更改你的路径。

# upload_max_filesize = 2M
# ↓ 调整为
upload_max_filesize = 128M


# post_max_size = 8M
# ↓ 调整为
post_max_size = 128M
/etc/php/8.1/fpm/php.ini

至此,LNMP 的配置已经完成,在下一篇文章中会记录如何安装 WordPress 并配置 SSL 证书和 Nginx 虚拟主机

“在 Ubuntu 22.04 中配置 LNMP 并安装 WordPress (1)”的一个回复

发表回复

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