惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
宝玉的分享
宝玉的分享
量子位
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
J
Java Code Geeks
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
S
SegmentFault 最新的问题
B
Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
小众软件
小众软件
The Cloudflare Blog
Y
Y Combinator Blog
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
IT之家
IT之家

SEO 网站优化及网站推广

安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(6) 安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(5) 安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(3) 安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(2) 安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(1) 网络攻击的后续 记一次网络攻击 连续三次系统升级,直到 v9.0.5 更一个新 网络爬虫,网络蜘蛛的问题 迁移到新的服务器 升级到 MovableType 8.4.2 升级到 MovableType 8.4.0 安装 Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(6) 安装 Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(4) 安装 Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(1) 安装 Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(5) 审计你的网页的各项指标 安装 Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(3) 安装 Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(2) 最近在学习研究的几个东西 十月更新
安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8...
David Yin · 2026-07-25 · via SEO 网站优化及网站推广

安装 Ubuntu 26.04 LTS, Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS上。

DavidYin 介绍了如何在 DigitalOcean 创建新 VPS。并且完成基本的 Ubuntu 26.04 LTS的系统。然后介绍如何安装 Webmin 主机控制面板,时区设置和 SSH 的安全设置。再之后说明一下如何用之前的新添加的用户来安装 Nginx Web 服务器和 MairaDB 数据库服务器。

现在就是很重要的语言支持部分了。因为我用的最多的就是 php 以及 perl 语言。所以这两部分就是重点了。

第四部分
安装 php8.5-fpm

Ubuntu 26.04 LTS 仓库所包含的是 php8.5.4,目前 php 官方支持的主力版本是 8.4,8.5,而 8.2,8.3 则是在安全补丁支持阶段。所以直接使用 Ubuntu 的就已经是很新的版本了。

sudo apt install php8.5 php8.5-fpm php8.5-cli php8.5-common php8.5-mbstring php8.5-gd php8.5-intl php8.5-xml php8.5-mysql php8.5-zip php8.5-curl

安装完成后,执行 php -v 命令,可以看到版本信息。

davidyin@pecan:~$ php -v
PHP 8.5.4 (cli) (built: Jul 16 2026 18:56:38) (NTS)
Copyright (c) The PHP Group
Built by Ubuntu
Zend Engine v4.5.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.4, Copyright (c), by Zend Technologies

可以确认当前版本为 php 8.5.4. 然后再看一眼,php8.5-frpm 服务是否已经起来。

设置虚拟主机

说明:下面这些都是用来举例说明所用的,在实际使用中请用真实的数据。
IP: 144.126.221.243
Domain: u26.webexample.win
username: davidyin

接下来我要设置一个 vhost,就是一个虚拟主机,我用的域名是 u26.webexample.win,此为举例而已。 到域名服务商的网站,专门设置域名记录的地方,把 u26.webexample.win 的 A 记录指向此 VPS 的 IP 地址,生效可能需要十分钟或更久,为快捷,可以在所操作的Windows hosts 文件添加纪录使之在本地立即可用。 新建一个主机配置文件,u26.conf,如下。

log_format   main '$remote_addr - $remote_user [$time_local]  $status '
    '"$request" $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';

server {
    listen       80;
    server_name  u26.webexample.win;
    access_log  /var/log/nginx/host.access.log  main;

    root   /home/davidyin/u26.webexample.win;
    index  index.php index.html index.htm;
    
    location / {
        try_files $uri $uri/ = 404;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.5-fpm.sock;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }
}

保存退出,然后执行 sudo nginx -t 命令看看,是否配置文件正确。若正确,就重启 Nginx 服务,使配置生效。

sudo service nginx restart

在/home/davidyin/u26.webexample.win/下新建一个文件 info.php

输入如下内容:

<?php
phpinfo();

回到桌面浏览器中,输入网址 http://u26.webexample.win/info.php,如果看到下面这些内容,就表示 php 安装正确, nginx 也运行正确。

有时候会出现奇怪的问题,找不到文件啊,没有权限啊。这是最好的解决方法,就是重启服务器。有时候是配置未生效。

如果出现问题,或者是页面错误,可以查看这两个日志文件。

/var/log/nginx/host.access.log
/var/log/nginx/error.log

至此,php8.5 已经安装完毕,并且虚拟主机也可以使用 php 语言了。

SSL 证书的签发

如果是商用,或者愿意购买一年期的证书,DavidYin建议到 Gogetssl 购买,这里价格最优,无限重签,不限服务器。目前的证书可以购买5年的,但是实际签发的证书都是半年的,这是现在所有CA 的国际标准,到时重新签发一次,直到购买的年份用完为止。买多年的会便宜一点。

Gogetssl 证书的好处是你买了一个证书给域名 A 用,如果这个域名不用了,还可以签发给域名 B 使用剩下的时间。

免费证书这里我采用 Zerossl 的 SSL 证书。使用了 Neilpang 的 ACME.SH 来安装。每月自动续签。

先安装工具。

curl https://get.acme.sh | sh -s email=seo@g2soft.net

接下来,重新登入SSH,相当于重新载入 BASH 环境,因为上面的安装已经把路径配置到 Bash 中了,并且自动创建了一个 bash 的别名,方便使用,直接输入 acme.sh 命令就可以了。另外还自动创建了一个 cronjob,每天零点自动检测所有的证书,如果快过期,就会自动更新。

验证域名的方式有两种,DNS 和 http,这次我用了 http 方式来验证。

上面一步安装好后,需要先执行一下 source ~/.bashrc , 以让环境参数生效。

davidyin@pecan:~$ acme.sh --issue -d u26.webexample.win --webroot /home/davidyin/u26.webexample.win
[Wed Jul 22 23:17:10 PDT 2026] Using CA: https://acme.zerossl.com/v2/DV90
[Wed Jul 22 23:17:10 PDT 2026] Single domain='u26.webexample.win'
[Wed Jul 22 23:17:15 PDT 2026] Getting webroot for domain='u26.webexample.win'
[Wed Jul 22 23:17:15 PDT 2026] Verifying: u26.webexample.win
[Wed Jul 22 23:17:18 PDT 2026] Processing. The CA is processing your order, please wait. (1/30)
[Wed Jul 22 23:17:22 PDT 2026] Success
[Wed Jul 22 23:17:22 PDT 2026] Verification finished, beginning signing.
[Wed Jul 22 23:17:22 PDT 2026] Let's finalize the order.
[Wed Jul 22 23:17:22 PDT 2026] Le_OrderFinalize='https://acme.zerossl.com/v2/DV90/order/9vGSFUWWbZI18Dgg6xOtHQ/finalize'
[Wed Jul 22 23:17:24 PDT 2026] Order status is 'processing', let's sleep and retry.
[Wed Jul 22 23:17:24 PDT 2026] Sleeping for 15 seconds then retrying
[Wed Jul 22 23:17:40 PDT 2026] Polling order status: https://acme.zerossl.com/v2/DV90/order/9vGSFUWWbZI18Dgg6xOtHQ
[Wed Jul 22 23:17:42 PDT 2026] Downloading cert.
[Wed Jul 22 23:17:42 PDT 2026] Le_LinkCert='https://acme.zerossl.com/v2/DV90/cert/aXnfE7FQTsSqhmxD7aCpVg'
[Wed Jul 22 23:17:44 PDT 2026] Cert success.
-----BEGIN CERTIFICATE-----
MIIDhzCCAyygAwIBAgIQP0RKPW1WFzsDCTAZ2AAP3TAKBggqhkjOPQQDAjBGMQsw
CQYDVQQGEwJBVDEVMBMGA1UEChMMWmVyb1NTTCBHbWJIMSAwHgYDVQQDExdaZXJv
U1NMIEVDQyBEViBTU0wgQ0EgMjAeFw0yNjA3MjMwMDAwMDBaFw0yNjEwMjEyMzU5
NTlaMB0xGzAZBgNVBAMTEnUyNi53ZWJleGFtcGxlLndpbjBZMBMGByqGSM49AgEG
CCqGSM49AwEHA0IABNis5Z7Jdv/8/hMiELxnX0yvXKBxLKk6cwZ2hcbM2+eQQqC8
中间省略
AiEAsXwlwSjlPiMRFS5KuloJBZ7EC6R3+gV61Dvvc8f63ZgCICORhj/RKrXOBP8h
QkztHkWqmXLRoGaPnG6Ujwoz7ppdMB0GA1UdEQQWMBSCEnUyNi53ZWJleGFtcGxl
LndpbjAKBggqhkjOPQQDAgNJADBGAiEA+ZwEXzQApjTiU5aGMOG3R9mTqoezIrtG
lP0ALMIbfZcCIQDcIq2Lg6PpLaOoK8i8by4qAMEWcZf6sTkze5LUXnPssw==
-----END CERTIFICATE-----
[Wed Jul 22 23:17:44 PDT 2026] Your cert is in: /home/davidyin/.acme.sh/u26.webexample.win_ecc/u26.webexample.win.cer
[Wed Jul 22 23:17:44 PDT 2026] Your cert key is in: /home/davidyin/.acme.sh/u26.webexample.win_ecc/u26.webexample.win.key
[Wed Jul 22 23:17:44 PDT 2026] The intermediate CA cert is in: /home/davidyin/.acme.sh/u26.webexample.win_ecc/ca.cer
[Wed Jul 22 23:17:44 PDT 2026] And the full-chain cert is in: /home/davidyin/.acme.sh/u26.webexample.win_ecc/fullchain.cer
[Wed Jul 22 23:17:45 PDT 2026] ARI suggestedWindow: 2026-10-06T23:59:59Z to 2026-10-08T23:59:59Z
[Wed Jul 22 23:17:45 PDT 2026] Next renewal time picked from ARI window: 2026-10-08T06:17:44Z

验证正确,就会自动签发证书,证书会临时先存放在一个工作目录,现在我要指定一个目录存放: /home/davidyin/ssl/。 之后就是安装证书到该目录。

acme.sh --install-cert -d u26.webexample.win \
--key-file       /home/davidyin/ssl/key  \
--fullchain-file /home/davidyin/ssl/cert \
--reloadcmd     "service nginx force-reload" 

就这样,证书也签发好了,也安装到指定位置,接下来会介绍如何在 nginx 的配置文件中,设置证书路径,设置 https,设置重定向,还有 perl-fastcgi等等。