Linux
LNMP 是 Linux + Nginx + MySQL + PHP 的缩写,第一步就从 Linux 开始
最小化安装 Debian 12 系统,配置好 SSH 和 APT 源之后就算完成了
Nginx
Nginx 提供了 APT 源,可以通过 APT 直接安装和更新,非常方便,并且官方源里的 Nginx 也是 Stable version,不存在落后问题
以下命令都是以 root 执行的,Nginx 会自动创建 nginx 用户
1、先安装依赖包
apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
2、配置 Nginx 源的密钥
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
3、校验密钥,这步可有可无
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
官网提供的指纹为 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
4、添加 Nginx 源
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | tee /etc/apt/sources.list.d/nginx.list
5、如果要使用 mainline 的包,可有可无
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \ | tee /etc/apt/sources.list.d/nginx.list
6、设置优先使用 Nginx 官网源
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | tee /etc/apt/preferences.d/99nginx
7、最后,安装 Nginx
apt update && apt install nginx
安装过程中会自动创建 Nginx 用户和服务,后续启停直接通过 service nginx 命令,或者 nginx 命令就可以操作了
默认配置文件路径:/etc/nginx
默认日志文件路径:/var/log/nginx
TIPS:如果在输入nginx,显示未找到命令,那是因为需要设置环境。
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
上面这条命令只是临时设置环境,重启之后就会失效了。如果需要一直保持,可以编辑/root/.bashrc文件,把上面这条命令加进去,然后重启即可。
MySQL
1、MySQL 也提供 APT 源
在 MySQL 官网 下载 APT 源配置器
2、安装源配置器,安装过程中会询问要使用的 MySQL 的版本,默认最新版即可
dpkg -i mysql-apt-config_0.8.29-1_all.deb
后续如果要再使用这个配置器
dpkg-reconfigure mysql-apt-config
3、更新软件源
apt update
4、安装 MySQL
apt install mysql-server
安装过程中会要求配置 root 账户密码,并创建 MySQL 服务
5、最后登录 MySQL 验证是否安装成功
mysql -uroot -p
PHP
PHP 也可以通过 APT 安装,但是默认会和 Apache HTTP Server 一起安装,我想要使用 Nginx,就以 FPM 形式安装
1、安装 php-fpm
apt install php-fpm
2、安装 PHP 扩展
查看 PHP 版本
root@dabian:~# php -v PHP 8.2.7 (cli) (built: Jun 9 2023 19:37:27) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.7, Copyright (c) Zend Technologies with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies
安装对应版本的 PHP 扩展
apt install php8.2-{fpm,cli,common,mysql,curl,dom,exif,fileinfo,imagick,gd,mbstring,xml,zip,memcached,opcache,bcmath,iconv,intl,simplexml,xmlreader}
3、配置 FPM Sock 权限。PHP 默认用户名是 www-data,而 Nginx 默认用户名是 nginx
nano /etc/php/8.2/fpm/pool.d/www.conf
也可以通过把 nginx 添加到 www-data 组解决权限问题
usermod -a -G www-data nginx
初始化数据库
使用 root 用户登录 MySQL,初始化 wp 使用的数据库
1、创建 wp 用户
CREATE USER 'wp'@'%' IDENTIFIED BY '123456!';
2、创建 wp 数据库
CREATE DATABASE `wp` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3、授予权限
GRANT ALL ON typecho.* TO 'typecho'@'%';
4、刷新权限
FLUSH PRIVILEGES;
或者安装phpmyadmin,到官网下载,解压到网站里即可使用。
配置 Nginx 站点
1、进入 Nginx 配置文件路径
cd /etc/nginx/conf.d/
2、Nginx 默认会解析这个路径下的所有配置文件
创建 wp 站点
nano wp.conf
server { listen 80; server_name 1.1.1.1; # 先设置为服务器 IP 地址,后续配置 SSL 的时候会添加域名 root /www/typecho; # 修改为 Typecho 源码所在路径 index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; # Typecho 重写 } location ~ .*\.php(\/.*)*$ { include fastcgi.conf; include fastcgi_params; fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 按照实际路径配置,不知道版本的可以 ls 一下 set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; fastcgi_index index.php; } access_log logs/typecho.log combined; # 访问日志路径 error_log logs/typecho.log.error; # 错误日志路径 }
3、测试配置是否有误
nginx -t
Nginx 会检查配置文件是否有语法错误
MySQL 性能调优
mysqld 进程占用内存比较多,不过没有关系,当前环境都是默认配置,没有对 MySQL 优化过,添加一些优化配置简单优化,占用就下来了
nano /etc/mysql/mysql.conf.d/mysqld.cnf
key_buffer_size = 8M table_open_cache = 32 sort_buffer_size = 256K net_buffer_length = 4K read_buffer_size = 128K read_rnd_buffer_size = 256K myisam_sort_buffer_size = 4M thread_cache_size = 4 lower_case_table_names=0 character-set-server = UTF8MB4 max_connections = 500 max_connect_errors = 100 open_files_limit = 2560 max_allowed_packet = 128M
启动网站
所有配置都已完成,现在可以启动网站了
1、重启 PHP
service php8.2-fpm restart
2、重载 Nginx 配置
nginx -s reload
如果没有报错,则表示网站启动成功,按照上方 Nginx 配置中的 server_name 访问即可。
原文参考:https://roadtothe.top/67.html
本文地址:Debian 12 上手动apt安装 LNMP
发表评论