Debian 10 的apt库里已经包含有 nginx 了,但是我想装最新版的,因此就使用官方的安裝流程,功能上大同小异,但安裝apt库的版本和官方的版本在 conf 上会有些设置上的差别,官方最新版的具体安装方法可以参考https://nginx.org/en/linux_packages.html#Debian
安装必要的组件
sudo apt install curl gnupg2 ca-certificates lsb-release
新增nginx稳定版软件库
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
将官方软件库的安装优先权改为高于预设软件库
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
下载gpg key
curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
验证下载的key
gpg --dry-run --quiet --import --import-options import-show /tmp/nginx_signing.key
#执行结果
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
将key放到正式文件夹中
sudo mv /tmp/nginx_signing.key /etc/apt/trusted.gpg.d/nginx_signing.asc
安装nginx
sudo apt update && sudo apt install nginx
安装MySQL,Debian10预设版本MariaDB 10.3
sudo apt install mariadb-server
执行初始化,设置SQL Server 的 root 密码与其它设置,一路回车即可
sudo /usr/bin/mysql_secure_installation
安装 PHP,Debian 10 预设版本 PHP7.3
sudo apt install php7.3 php7.3-cli php7.3-common php7.3-curl php7.3-fpm php7.3-gd php7.3-mysql php7.3-opcache php7.3-xml php7.3-xmlrpc php7.3-sqlite3 php7.3-mbstring
启动fpm
systemctl start php7.3-fpm
安装wordpress
cd /usr/share/nginx/html
sudo wget https://wordpress.org/latest.zip
sudo unzip latest.zip
rm latest.zip
设定权限
sudo chown -R www-data:www-data /usr/share/nginx/html/wordpress
sudo usermod -aG www-data nginx
为PHP建立nginx的conf设定
sudo mkdir /etc/nginx/conf.d/snippets
sudo nano /etc/nginx/conf.d/snippets/php.conf
#内容如下
fastcgi_intercept_errors on;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
根据自己需求,为wordpress建立nginx的wordpress.conf档案,放到/etc/nginx/conf.d/
里面
sudo nano /etc/nginx/conf.d/wordpress.conf
#参考内容如下:
server{
listen 443 ssl;
server_name domain.com; #你的网站域名
root /usr/share/nginx/html/wordpress; #网站根目录位置
index index.php;
server_tokens off;
# 如果网站是放在反向代理的后面,要获取client的真实IP,必须设定下面这两行
set_real_ip_from x.x.x.x;
real_ip_header X-Forwarded-For;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location /{
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
root /usr/share/nginx/html/wordpress;
include /etc/nginx/conf.d/snippets/php.conf;
}
}
重启nginx
sudo systemctl restart nginx
至此Debian10手动安装lnmp(nginx+MariaDB+PHP)+wordpress就完成了,浏览器上输入http://服务器ip
开始你的博客之旅吧。
至于域名的证书申请、http跳转https等请自行google。