生活记录、技术分享、一个有趣的网站
Debian10手动安装lnmp(nginx+MariaDB+PHP)+wordpress站点
Debian10手动安装lnmp(nginx+MariaDB+PHP)+wordpress站点

Debian10手动安装lnmp(nginx+MariaDB+PHP)+wordpress站点

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。

发表回复

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