系统: debian 12
我服务器的内存只有 512Mb, 不想安装无关的软件, 比如某管理面板, 无奈只能手动安装(留下贫穷的眼泪)
安装准备
先更新一下软件源
apt update
apt upgrade
# 安装解压软件
apt install unzip -y
安装SQLite
apt install sqlite3
安装 PHP 环境
apt install php php-fpm php-gd php-mbstring php-xml php-sqlite3
注意查看 php-fpm 的安装输出内容, 这里安装的版本是 8.2 的
查看安装状态
# 查看 PHP 的版本
php -v
# 查看 php-fpm 的状态, 8.2 是安装的版本, 获取方式查看 安装PHP环境 步骤
systemctl status php8.2-fpm
修改 PHP 配置
默认情况下不用修改, 不过还是要确认一下
nano /etc/php/8.2/fpm/pool.d/www.conf
记住以下几个得值
安装Typecho
去官网下载最新版本: 下载 - Typecho Official Site
目前最新版本为 1.2.1
# 创建网站目录
mkdir /var/www/typecho
# 进入目录
cd /var/www/typecho
# 下载压缩包
wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip
# 解压缩
unzip typecho.zip
修改目录的权限
chown -R www-data:www-data /var/www/typecho
安装配置Nginx
# 安装
apt install nginx -y
# 查看安装的版本
nginx -v
创建 nginx 配置
nano /etc/nginx/conf.d/blog.conf
在配置中填入以下内容
server {
listen 80 default_server;
server_name _;
root /var/www/typecho;
index index.html index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params.modified;
}
}
创建 fastcgi_params.modified 配置
nano /etc/nginx/fastcgi_params.modified
在配置中填入以下内容
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
删除默认站点
rm /etc/nginx/sites-enabled/default
重启nginx
systemctl restart nginx
# 查看状态
systemctl status nginx
如果发现nginx 启动失败, 端口被占用, 请划到最下面的 常见问题
查看解决方法
初始化 Typecho
在浏览器输入网站地址: http://{你的IP} 进入页面, 点击 我准备好了, 开始下一步
常见问题
systemctl status nginx
显示端口被占用
查端口被哪个进程占用了
lsof -i:80
发现被 apache2 占用了, 执行以下操作
# 停用 apache2 服务
systemctl stop apache2
# 卸载 apache2
apt --purge remove apache2 -y
重新启动 nginx 后查看状态
# 重启 nginx
systemctl restart nginx
# 查看 nginx 状态
systemctl status nginx
{/collapse-item}
{collapse-item label="Nginx 503 错误"}
再次确认 /etc/nginx/conf.d/blog.conf 中的 fastcgi_pass 后的内容和 /etc/php/8.2/fpm/pool.d/www.conf 中的 listen 项是否一致!
{/collapse-item}
叼茂SEO.bfbikes.com
看的我热血沸腾啊
怎么收藏这篇文章?