ubuntu更新指定特定的源

这些错误表明系统无法解析到您配置的镜像域名(mirrors.tuna.tsinghua.edu.cn 和 mirrors.aliyun.com)。这通常是由于网络连接问题或DNS解析问题导致的。请按照以下步骤排查解决:

  1. 检查网络连接
ping -c 4 8.8.8.8

· 如果能ping通IP,说明网络连接正常,问题可能是DNS
· 如果无法ping通,检查网络配置或联系网络管理员

  1. 检查DNS解析
nslookup mirrors.tuna.tsinghua.edu.cn
nslookup mirrors.aliyun.com

如果无法解析,说明DNS有问题。

  1. 临时解决方案:使用系统默认源

先切换回Ubuntu官方源:

# 备份当前源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

# 恢复为官方源(适用于Ubuntu 22.04 Jammy)
sudo tee /etc/apt/sources.list << 'EOF'
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
EOF
  1. 更新并清理
# 清理旧的包列表
sudo rm -rf /var/lib/apt/lists/*
sudo apt clean

# 更新源
sudo apt update
  1. 如果仍需国内镜像,更换其他可用镜像

如果清华镜像有问题,可以尝试其他镜像:

方法一:使用阿里云镜像

sudo sed -i 's/http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu/https:\/\/mirrors.aliyun.com\/ubuntu/g' /etc/apt/sources.list

方法二:使用华为云镜像

sudo sed -i 's/http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu/https:\/\/repo.huaweicloud.com\/ubuntu/g' /etc/apt/sources.list

方法三:手动编辑源文件

sudo nano /etc/apt/sources.list

将文件中所有的 mirrors.tuna.tsinghua.edu.cn 替换为:

· mirrors.aliyun.com (阿里云)
· mirrors.huaweicloud.com (华为云)
· mirrors.cloud.tencent.com (腾讯云)

  1. 检查Docker源配置

对于Docker源,也需要检查:

sudo nano /etc/apt/sources.list.d/docker.list

如果有问题,可以暂时注释掉或更换镜像。

  1. 完全重新配置(推荐)

最简单的方法是重新生成sources.list:

# 备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup.$(date +%Y%m%d)

# 生成阿里云镜像源(Ubuntu 22.04)
sudo tee /etc/apt/sources.list << 'EOF'
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF

# 更新
sudo apt update
  1. 如果问题依旧,检查系统DNS配置
cat /etc/resolv.conf

确保有有效的DNS服务器,如:

nameserver 8.8.8.8
nameserver 8.8.4.4

或国内DNS:

nameserver 223.5.5.5  # 阿里DNS
nameserver 119.29.29.29  # 腾讯DNS

请按顺序尝试这些方法,通常问题会在第4步或第7步解决。

开放特定端口

在Ubuntu上开放端口10088,需要根据你使用的防火墙工具来操作。Ubuntu常见的防火墙工具有 ufw(推荐,简单易用)和 iptables(底层工具)。下面是详细的操作方法:

方法一:使用 ufw(推荐)

ufw 是Ubuntu默认的防火墙管理工具,操作简单。

  1. 检查ufw状态
sudo ufw status

· 如果显示 Status: inactive,说明防火墙未启用,端口默认都是开放的。
· 如果显示 Status: active,则需要添加规则。

  1. 启用ufw(如果未启用)
sudo ufw enable
  1. 开放10088端口

开放TCP协议的10088端口:

sudo ufw allow 10088/tcp

如果同时需要TCP和UDP:

sudo ufw allow 10088

更精确的控制:

# 仅允许来自特定IP访问10088端口
sudo ufw allow from 192.168.1.100 to any port 10088 proto tcp

# 允许特定IP段
sudo ufw allow from 192.168.1.0/24 to any port 10088
  1. 验证规则已添加
sudo ufw status numbered

输出示例:

Status: active

     To                         Action      From
     --                         ------      ----
[1] 10088/tcp                  ALLOW       Anywhere
[2] 10088/tcp (v6)             ALLOW       Anywhere (v6)
  1. 重新加载ufw(通常不需要)
sudo ufw reload

方法二:使用 iptables(直接配置)

如果你使用原始的iptables:

  1. 临时开放端口(重启后失效)
# 开放TCP端口
sudo iptables -A INPUT -p tcp --dport 10088 -j ACCEPT

# 开放UDP端口
sudo iptables -A INPUT -p udp --dport 10088 -j ACCEPT
  1. 永久保存iptables规则
# 安装iptables持久化工具
sudo apt-get update
sudo apt-get install iptables-persistent

# 保存当前规则
sudo netfilter-persistent save
# 或
sudo iptables-save > /etc/iptables/rules.v4
  1. 检查已添加的规则
sudo iptables -L -n | grep 10088

方法三:使用 firewalld(较少见)

如果你的Ubuntu安装了firewalld:

# 添加端口
sudo firewall-cmd --zone=public --add-port=10088/tcp --permanent

# 重载配置
sudo firewall-cmd --reload

# 查看
sudo firewall-cmd --zone=public --list-ports

验证端口是否真正开放

  1. 本地检查监听状态
# 查看哪些程序在监听10088端口
sudo netstat -tlnp | grep 10088
sudo ss -tlnp | grep 10088
  1. 从外部测试连接
# 在另一台机器上测试(假设服务器IP是192.168.1.100)
telnet 192.168.1.100 10088
# 或
nc -zv 192.168.1.100 10088

针对内网穿透的特殊说明

如果你是为内网穿透客户端开放10088端口:

  1. 在内网机器上:开放10088端口通常是为了让本地服务(如Web服务)能被访问。
  2. 在公网服务器上:开放10088端口是为了让外部用户能通过此端口访问穿透的服务。

常见场景示例:

# 场景:内网穿透客户端将本地的SSH服务映射到公网服务器的10088端口
# 在公网服务器上执行:
sudo ufw allow 10088/tcp
sudo ufw reload

# 在内网客户端上执行(如果需要):
sudo ufw allow from 192.168.1.0/24 to any port 22  # 允许内网访问SSH

重要安全提示

  1. 限制访问来源(如果可能):
sudo ufw allow from 203.0.113.0/24 to any port 10088  # 仅允许特定IP段
  1. 结合服务控制:
# 允许特定服务(如果已定义)
sudo ufw allow OpenSSH  # 例如SSH服务
  1. 查看详细日志:
# 查看防火墙日志
sudo tail -f /var/log/ufw.log

故障排查

如果端口仍然无法访问:

  1. 检查服务是否真正在监听:
sudo lsof -i :10088
  1. 检查云服务商安全组(如果是云服务器):
    · AWS安全组、阿里云安全组、腾讯云安全组等都需要相应设置。
  2. 检查应用程序配置:
    · 确保应用程序绑定到 0.0.0.0 而不是 127.0.0.1

最简单的操作流程:

# 1. 检查状态
sudo ufw status

# 2. 如果未启用,启用它
sudo ufw enable

# 3. 开放10088端口
sudo ufw allow 10088/tcp

# 4. 验证
sudo ufw status numbered

这样配置后,10088端口就应该可以被外部访问了。

ubuntu创建用户

在 Ubuntu Server 中创建新用户有几种常用方法,以下是详细步骤:

方法1:使用 adduser 命令(推荐)

# 创建用户并设置密码
sudo adduser username

# 系统会交互式地提示:
# 1. 设置密码
# 2. 确认密码
# 3. 填写用户信息(可跳过)

方法2:使用 useradd 命令

# 基本创建用户(不创建家目录)
sudo useradd username

# 创建用户并同时创建家目录
sudo useradd -m username

# 创建用户并指定家目录路径
sudo useradd -m -d /path/to/home username

# 创建用户并指定登录shell
sudo useradd -m -s /bin/bash username

# 创建用户后需要手动设置密码
sudo passwd username

方法3:创建用户并添加到 sudo 组

# 创建用户
sudo adduser username

# 将用户添加到 sudo 组(获取管理员权限)
sudo usermod -aG sudo username

# 验证用户是否在 sudo 组
groups username

方法4:创建系统用户(无家目录,用于服务)

# 创建系统用户(无家目录)
sudo useradd -r username

# 或使用 adduser 创建系统用户
sudo adduser --system --no-create-home username

常用选项和参数

# 创建用户时指定UID
sudo useradd -u 1001 username

# 创建用户时指定主要组
sudo useradd -g groupname username

# 创建用户时指定多个附加组
sudo useradd -G group1,group2 username

# 设置用户过期时间
sudo useradd -e 2024-12-31 username

# 创建用户时设置注释信息
sudo useradd -c "User Description" username

用户管理相关命令

# 删除用户(保留家目录)
sudo userdel username

# 删除用户及家目录
sudo userdel -r username

# 修改用户属性
sudo usermod [options] username

# 锁定用户账户
sudo usermod -L username

# 解锁用户账户
sudo usermod -U username

# 查看用户信息
id username
finger username  # 需要安装 finger 包
getent passwd username

最佳实践建议

  1. 使用 adduser 而不是 useradd:
    · adduser 更友好,会创建家目录、提示设置密码
    · useradd 是低级工具,需要更多参数
  2. 安全建议:
   # 创建用户时强制密码策略
   sudo adduser --disabled-password username  # 创建无密码用户
   sudo passwd username  # 随后设置强密码

   # 强制首次登录修改密码
   sudo passwd --expire username
  1. 验证用户创建成功:
   # 检查用户是否存在
   grep username /etc/passwd

   # 检查家目录是否创建
   ls -la /home/username

   # 测试登录
   su - username

示例:完整创建流程

# 1. 创建开发人员用户
sudo adduser developer

# 2. 添加到必要组
sudo usermod -aG sudo,www-data,ssh developer

# 3. 配置SSH密钥(可选)
sudo mkdir -p /home/developer/.ssh
sudo nano /home/developer/.ssh/authorized_keys
# 粘贴公钥后设置权限
sudo chown -R developer:developer /home/developer/.ssh
sudo chmod 700 /home/developer/.ssh
sudo chmod 600 /home/developer/.ssh/authorized_keys

# 4. 禁用密码登录(仅允许SSH密钥,可选)
sudo nano /etc/ssh/sshd_config
# 修改:PasswordAuthentication no
sudo systemctl restart ssh

这样你就成功创建了新用户!根据你的需求选择合适的方法。

去除强制变成https

这个问题是因为WordPress设置了强制HTTPS重定向。您需要从几个地方检查:
1. 首先检查WordPress设置
登录WordPress后台
“`bash
# 使用浏览器访问
http://100.88.88.150/wp-admin
“`
在后台检查:
1. 设置 → 常规
· WordPress地址(URL)
· 站点地址(URL)
确保两者都是 http://100.88.88.150(不是https)
2. WordPress可能被插件或主题强制HTTPS

2. 检查数据库设置

“`bash
# 查看WordPress的站点URL设置
sudo mysql -u root -p wordpress -e “SELECT * FROM wp_options WHERE option_name IN (‘siteurl’, ‘home’);”
“`

如果显示https,修改它:

“`bash
# 修改为HTTP
sudo mysql -u root -p wordpress << EOF UPDATE wp_options SET option_value = 'http://100.88.88.150' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = 'http://100.88.88.150' WHERE option_name = 'home'; EOF ``` 3. 检查wp-config.php设置 ```bash # 查看配置文件是否有强制HTTPS sudo grep -i "https\|ssl\|443" /var/www/wordpress/wp-config.php # 常见的强制HTTPS设置 # define('FORCE_SSL_ADMIN', true); # define('FORCE_SSL_LOGIN', true); # $_SERVER['HTTPS'] = 'on'; ``` 如果有,注释或删除它们: ```bash sudo nano /var/www/wordpress/wp-config.php ``` 查找并注释掉: ```php // 注释掉这些行 // define('FORCE_SSL_ADMIN', true); // define('FORCE_SSL_LOGIN', true); // $_SERVER['HTTPS'] = 'on'; ``` 4. 检查.htaccess文件(如果存在) ```bash # Nginx通常不用.htaccess,但WordPress可能生成 sudo ls -la /var/www/wordpress/.htaccess # 如果有,检查重定向规则 sudo grep -i "https\|redirect\|rewrite" /var/www/wordpress/.htaccess ``` 5. 检查Nginx配置 ```bash # 查看是否有301重定向到HTTPS sudo grep -r "301\|redirect\|https" /etc/nginx/sites-available/ # 检查您的WordPress配置 sudo cat /etc/nginx/sites-available/wordpress | grep -A5 -B5 "301\|https" ``` 6. 快速修复脚本 创建一个修复脚本: ```bash cat > fix_https_redirect.sh << 'EOF' #!/bin/bash echo "=== 修复HTTPS强制重定向 ===" # 1. 备份数据库 echo "1. 备份数据库..." sudo mysqldump -u root -p wordpress > /tmp/wordpress_backup_$(date +%Y%m%d).sql

# 2. 修改数据库URL
echo “2. 修改数据库中的URL设置…”
sudo mysql -u root -p wordpress << 'MYSQL_SCRIPT' UPDATE wp_options SET option_value = REPLACE(option_value, 'https://', 'http://') WHERE option_name IN ('siteurl', 'home'); UPDATE wp_options SET option_value = 'http://100.88.88.150' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = 'http://100.88.88.150' WHERE option_name = 'home'; MYSQL_SCRIPT # 3. 检查wp-config.php echo "3. 检查wp-config.php..." sudo sed -i "s/define('FORCE_SSL_ADMIN', true);/\/\/define('FORCE_SSL_ADMIN', true);/g" /var/www/wordpress/wp-config.php sudo sed -i "s/define('FORCE_SSL_LOGIN', true);/\/\/define('FORCE_SSL_LOGIN', true);/g" /var/www/wordpress/wp-config.php sudo sed -i "/\$_SERVER\['HTTPS'\]/d" /var/www/wordpress/wp-config.php # 4. 清理缓存(如果有) echo "4. 清理缓存..." sudo rm -rf /var/www/wordpress/wp-content/cache/* 2>/dev/null

# 5. 重启服务
echo “5. 重启服务…”
sudo systemctl restart nginx
sudo systemctl restart php8.1-fpm

echo “修复完成!”
echo “现在测试:curl -I http://100.88.88.150”
EOF

chmod +x fix_https_redirect.sh
sudo ./fix_https_redirect.sh
“`

7. 临时解决方法(直接修改Nginx)

如果上述方法无效,可以在Nginx配置中强制HTTP:

“`bash
# 编辑Nginx配置
sudo nano /etc/nginx/sites-available/wordpress
“`

在server块中添加(如果已经有重定向,先删除):

“`nginx
server {
listen 80;
server_name 100.88.88.150;

# 强制HTTP,避免任何HTTPS重定向
if ($http_x_forwarded_proto = “https”) {
set $http_x_forwarded_proto “http”;
}

# 拦截WordPress的重定向
location / {
# 覆盖WordPress的任何重定向
proxy_set_header X-Forwarded-Proto http;
proxy_set_header HTTPS off;

# 原有的try_files规则
try_files $uri $uri/ /index.php?$args;
}

# … 其他配置保持不变
}
“`

然后重启:

“`bash
sudo nginx -t
sudo systemctl reload nginx
“`

8. 测试是否修复

“`bash
# 测试重定向
curl -I http://100.88.88.150

# 应该返回200而不是301
# 如果要详细跟踪重定向
curl -L -v http://100.88.88.150 2>&1 | grep -i “location\|http”

# 或者使用更简单的测试
curl -s -o /dev/null -w “%{http_code}” http://100.88.88.150
# 应该返回200
“`

9. 如果仍有问题,启用调试模式

“`bash
# 在wp-config.php中添加调试
sudo nano /var/www/wordpress/wp-config.php
“`

添加:

“`php
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
“`

然后检查日志:

“`bash
sudo tail -f /var/www/wordpress/wp-content/debug.log
“`

10. 彻底排查流程

“`bash
# 一步步排查
echo “=== 排查步骤 ===”

echo “1. 检查Nginx配置…”
sudo nginx -T 2>/dev/null | grep -i “rewrite\|redirect\|https”

echo “2. 检查数据库…”
sudo mysql -u root -p wordpress -e “SELECT option_name, option_value FROM wp_options WHERE option_name LIKE ‘%url%’ OR option_value LIKE ‘%https%’;”

echo “3. 检查配置文件…”
sudo grep -r “https\|SSL” /var/www/wordpress/wp-config.php

echo “4. 检查主题和插件…”
sudo find /var/www/wordpress/wp-content -name “*.php” -exec grep -l “force_ssl\|https” {} \;

echo “5. 检查headers…”
curl -I http://100.88.88.150
“`

最可能的原因和解决方案

根据您的输出 X-Redirect-By: WordPress,重定向来自WordPress本身,不是Nginx。按照以下优先级解决:

优先级1:数据库设置(95%可能)

“`bash
# 执行这个最简单有效的修复
sudo mysql -u root -p wordpress -e “UPDATE wp_options SET option_value = ‘http://100.88.88.150’ WHERE option_name IN (‘siteurl’, ‘home’);”
“`

优先级2:WordPress配置

“`bash
# 检查并修复wp-config.php
sudo sed -i “s/https:/http:/g” /var/www/wordpress/wp-config.php
sudo sed -i “/FORCE_SSL/d” /var/www/wordpress/wp-config.php
“`

优先级3:清理缓存

“`bash
sudo rm -rf /var/www/wordpress/wp-content/cache/*
sudo systemctl restart php8.1-fpm
sudo systemctl reload nginx
“`

立即执行的快速修复

“`bash
# 一行命令修复(最有效)
sudo mysql -u root -p wordpress -e “UPDATE wp_options SET option_value = ‘http://100.88.88.150’ WHERE option_name IN (‘siteurl’, ‘home’);” && sudo systemctl reload nginx && curl -I http://100.88.88.150
“`

请先尝试优先级1的数据库修复,这通常能解决99%的WordPress强制HTTPS问题。

mysql操作

# 登录MySQL

sudo mysql -u root -p

# 创建数据库与授权

— 创建数据库 codish
CREATE DATABASE IF NOT EXISTS codish
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

 

创建用户 joehuang(如果不存在)

CREATE USER IF NOT EXISTS ‘joehuang’@’%’ IDENTIFIED BY ‘your_password_here’;

— 或者如果只允许本地访问
— CREATE USER IF NOT EXISTS ‘joehuang’@’localhost’ IDENTIFIED BY ‘your_password_here’;

授予用户对 codish 数据库的所有权限

GRANT ALL PRIVILEGES ON codish.* TO ‘joehuang’@’%’;

 

— 刷新权限使更改生效
FLUSH PRIVILEGES;

— 显示用户权限
SHOW GRANTS FOR ‘joehuang’@’%’;

# 修改用户密码(通用语法)
ALTER USER ‘用户名’@’主机’ IDENTIFIED BY ‘新密码’;
FLUSH PRIVILEGES;

# 示例:修改wpuser密码
ALTER USER ‘username’@’localhost’ IDENTIFIED BY ‘MyNewStrongPass123!’;
FLUSH PRIVILEGES;

# 退出
EXIT;

# 登录MySQL
sudo mysql -u root -p
# 输入密码

# 查看所有用户和主机
SELECT User, Host FROM mysql.user;

# 查看详细信息
SELECT User, Host, plugin, authentication_string FROM mysql.user;

# 查看用户权限
SHOW GRANTS FOR ‘wpuser’@’localhost’;

# 退出
EXIT;

 

修改MySQL root密码的方法取决于你的MySQL版本和操作系统。以下是几种常见的方法:

方法1:已知原密码的情况下修改

“`sql
— 登录MySQL后执行
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;
FLUSH PRIVILEGES;
“`

方法2:忘记密码时修改(安全模式)

Windows系统:

1. 停止MySQL服务:

“`cmd
net stop mysql
# 或 MySQL80(根据版本)
net stop mysql80
“`

1. 创建初始化文件 mysql-init.txt:

“`sql
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;
“`

1. 以安全模式启动并加载初始化文件:

“`cmd
mysqld –init-file=C:\mysql-init.txt –console
“`

1. 重启MySQL服务:

“`cmd
net start mysql
“`

Linux/Mac系统:

1. 停止MySQL服务:

“`bash
sudo systemctl stop mysql
# 或
sudo service mysql stop
“`

1. 编辑配置文件:

“`bash
sudo vim /etc/my.cnf
# 或
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
“`

1. 在 [mysqld] 部分添加:

“`
skip-grant-tables
“`

1. 重启MySQL并登录:

“`bash
sudo systemctl restart mysql
# 或
sudo service mysql restart

mysql -u root
“`

1. 在MySQL中重置密码:

“`sql
— MySQL 5.7.6及以下
UPDATE mysql.user SET authentication_string=PASSWORD(‘新密码’) WHERE User=’root’;
— MySQL 5.7.6及以上
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;

FLUSH PRIVILEGES;
“`

1. 移除配置文件的 skip-grant-tables 并重启服务

方法3:使用mysqladmin工具

“`bash
mysqladmin -u root -p’旧密码’ password ‘新密码’
“`

重要提示:

1. 密码强度要求:MySQL 8.0+有密码策略要求,确保密码足够复杂
2. 密码特殊字符:如果密码包含特殊字符,需要用引号括起来
3. 远程root访问:如果需要远程访问,也要修改相应host的密码:
“`sql
ALTER USER ‘root’@’%’ IDENTIFIED BY ‘新密码’;
“`

验证修改是否成功:

“`bash
mysql -u root -p
# 输入新密码测试
“`

忘记root密码的完整流程(推荐):

1. 停止MySQL服务
2. 使用–skip-grant-tables启动
3. 无密码登录MySQL
4. 执行密码修改命令
5. 重启MySQL服务

注意:生产环境操作前请做好备份,并确保服务窗口期最小化。

防火墙设定

# 1. 首先查看当前状态
sudo ufw status
# 应该显示:Status: inactive

# 2. 添加必要的规则(在启用前配置好)
sudo ufw allow ssh # 允许SSH连接(非常重要!)
sudo ufw allow ‘Nginx HTTP’
sudo ufw allow ‘Nginx HTTPS’ # 如果需要HTTPS

# 3. 查看添加的规则
sudo ufw show added

# 4. 启用防火墙
sudo ufw enable
# 会提示:Command may disrupt existing ssh connections. Proceed with operation (y|n)?
# 输入 y 确认

# 5. 重新加载规则
sudo ufw reload

# 6. 查看完整状态
sudo ufw status verbose

安装WordPress从头到尾

好的,为您提供从零开始在低配置Ubuntu Server上使用Nginx安装WordPress的完整指令。

低配置Ubuntu Server安装WordPress完整指南(Nginx版)

第一步:系统准备

“`bash
# 1. 更新系统
sudo apt update
sudo apt upgrade -y

# 2. 安装基础工具(可选)
sudo apt install curl wget nano -y

# 3. 设置时区(可选)
sudo timedatectl set-timezone Asia/Shanghai
“`

第二步:安装MySQL数据库

“`bash
# 1. 安装MySQL
sudo apt install mysql-server -y

# 2. 启动并启用服务
sudo systemctl start mysql
sudo systemctl enable mysql

# 3. 运行安全配置
sudo mysql_secure_installation
“`

安全配置步骤(交互式):

“`
1. 是否设置验证密码插件?按Enter跳过
2. 输入root密码(输入两次,记住这个密码)
3. 是否移除匿名用户?输入 Y
4. 是否禁止root远程登录?输入 Y
5. 是否移除测试数据库?输入 Y
6. 是否重新加载权限表?输入 Y
“`

第三步:创建WordPress数据库

“`bash
# 1. 登录MySQL
sudo mysql -u root -p
# 输入上面设置的root密码

# 2. 在MySQL命令行中执行以下命令
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘wpuser’@’localhost’ IDENTIFIED BY ‘StrongPassword123!’; # 请修改密码
GRANT ALL PRIVILEGES ON wordpress.* TO ‘wpuser’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
“`

第四步:安装PHP和Nginx

“`bash
# 1. 添加PHP仓库(Ubuntu 22.04+可能需要)
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

# 2. 安装PHP和必要扩展
sudo apt install php8.1-fpm php8.1-mysql php8.1-common php8.1-mbstring php8.1-xmlrpc php8.1-gd php8.1-xml php8.1-cli php8.1-curl php8.1-zip -y

# 3. 安装Nginx
sudo apt install nginx -y
“`

第五步:下载WordPress

“`bash
# 1. 进入web目录
cd /tmp

# 2. 下载最新WordPress
wget https://wordpress.org/latest.tar.gz

# 3. 解压
tar -xzvf latest.tar.gz

# 4. 移动到网站目录
sudo mv wordpress /var/www/

# 5. 设置权限
sudo chown -R www-data:www-data /var/www/wordpress
sudo chmod -R 755 /var/www/wordpress
“`

第六步:配置Nginx

“`bash
# 1. 创建Nginx配置文件
sudo nano /etc/nginx/sites-available/wordpress
“`

粘贴以下配置(按Ctrl+X,然后Y,Enter保存):

“`nginx
server {
listen 80;
listen [::]:80;

# 使用服务器IP访问,如果有域名可以修改
server_name _;

root /var/www/wordpress;
index index.php index.html index.htm;

# 访问日志(可选,调试时可开启)
# access_log /var/log/nginx/wordpress_access.log;
error_log /var/log/nginx/wordpress_error.log;

location / {
try_files $uri $uri/ /index.php?$args;
}

# 缓存静态文件
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 30d;
add_header Cache-Control “public, immutable”;
}

# PHP处理
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

# 安全设置
location ~ /\.ht {
deny all;
}

location = /favicon.ico {
log_not_found off;
access_log off;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
}
“`

“`bash
# 2. 启用站点
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

# 3. 禁用默认站点
sudo rm /etc/nginx/sites-enabled/default

# 4. 测试Nginx配置
sudo nginx -t

# 5. 重启Nginx
sudo systemctl restart nginx
“`

第七步:配置PHP-FPM

“`bash
# 1. 编辑PHP-FPM配置(根据PHP版本调整路径)
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
“`

找到并修改以下行(确保值与下面一致):

“`ini
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
“`

“`bash
# 2. 重启PHP-FPM
sudo systemctl restart php8.1-fpm

# 3. 启用PHP-FPM开机启动
sudo systemctl enable php8.1-fpm
“`

第八步:配置WordPress

“`bash
# 1. 复制配置文件
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php

# 2. 编辑配置文件
sudo nano wp-config.php
“`

找到以下部分并修改:

“`php
// 数据库设置
define(‘DB_NAME’, ‘wordpress’);
define(‘DB_USER’, ‘wpuser’);
define(‘DB_PASSWORD’, ‘StrongPassword123!’); # 改为第三步设置的密码
define(‘DB_HOST’, ‘localhost’);
define(‘DB_CHARSET’, ‘utf8mb4’);

// 安全密钥(可选但建议)
// 访问 https://api.wordpress.org/secret-key/1.1/salt/ 生成并替换
“`

第九步:调整防火墙(如果启用)

“`bash
# 检查防火墙状态
sudo ufw status

# 如果启用,放行HTTP
sudo ufw allow ‘Nginx HTTP’
sudo ufw reload
“`

第十步:优化MySQL配置(低内存优化)

“`bash
# 1. 备份原配置
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.backup

# 2. 编辑配置
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
“`

在[mysqld]部分添加或修改:

“`ini
# 低内存优化配置(适用于512MB-1GB内存)
innodb_buffer_pool_size = 64M
key_buffer_size = 16M
max_connections = 20
thread_cache_size = 4
query_cache_type = 0
query_cache_size = 0
skip-name-resolve
max_allowed_packet = 16M
innodb_log_file_size = 32M
innodb_flush_log_at_trx_commit = 2
“`

“`bash
# 3. 重启MySQL
sudo systemctl restart mysql
“`

第十一步:完成安装

“`bash
# 1. 检查所有服务状态
sudo systemctl status nginx
sudo systemctl status mysql
sudo systemctl status php8.1-fpm

# 2. 设置开机自启
sudo systemctl enable nginx
sudo systemctl enable mysql
“`

第十二步:访问WordPress完成安装

1. 打开浏览器,访问:http://你的服务器IP地址
2. 按照WordPress安装向导:
· 选择语言(中文)
· 设置站点标题(如”工作日志”)
· 设置管理员用户名(不要用admin)
· 设置强密码
· 设置邮箱地址
3. 点击”安装WordPress”
4. 登录后台:http://你的服务器IP地址/wp-admin

快速检查脚本

“`bash
# 创建一个检查脚本
cat << 'EOF' > ~/check_installation.sh
#!/bin/bash
echo “=== 服务状态检查 ===”
systemctl status nginx –no-pager | grep -A 3 “Active:”
systemctl status mysql –no-pager | grep -A 3 “Active:”
systemctl status php8.1-fpm –no-pager | grep -A 3 “Active:”

echo -e “\n=== 端口监听检查 ===”
netstat -tulpn | grep -E ‘:80|:3306’

echo -e “\n=== 文件权限检查 ===”
ls -la /var/www/wordpress/wp-config.php

echo -e “\n=== 磁盘使用 ===”
df -h /var

echo -e “\n=== 内存使用 ===”
free -h
EOF

chmod +x ~/check_installation.sh
./check_installation.sh
“`

故障排除命令

“`bash
# 1. 查看错误日志
sudo tail -50 /var/log/nginx/wordpress_error.log
sudo tail -50 /var/log/php8.1-fpm.log

# 2. 测试PHP-FPM
sudo php-fpm8.1 -t

# 3. 测试数据库连接
mysql -u wpuser -p -e “SHOW DATABASES;”

# 4. 重载所有服务
sudo systemctl reload nginx
sudo systemctl reload php8.1-fpm
sudo systemctl reload mysql
“`

后期维护命令

“`bash
# 更新WordPress
cd /var/www/wordpress
sudo wp core update # 需要先安装wp-cli

# 备份数据库
mysqldump -u wpuser -p wordpress > ~/wordpress_backup_$(date +%Y%m%d).sql

# 查看资源使用
htop # 或安装后使用

# 重启所有服务
sudo systemctl restart nginx mysql php8.1-fpm
“`

安全增强建议(可选)

“`bash
# 1. 限制PHP函数(增强安全)
sudo nano /etc/php/8.1/fpm/php.ini
# 找到并修改:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen

# 2. 安装防火墙
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow ‘Nginx HTTP’
sudo ufw enable

# 3. 安装fail2ban(防暴力破解)
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
“`

完成以上步骤后,您的WordPress就应该正常运行了。访问服务器IP地址即可开始使用工作日志系统。

Mac AI开发工具安装

  • Ollama下载安装。自动化可以。图形界面,直接拉进去。
  • Docker,网站下载来安装,就可以。图形界面,直接拉进去。
  • Homebrew安装, 使用 xcode -select install
  • Open WebUI安装:https://docs.openwebui.com/
  • docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

  • 更新Open WebUI:
  • docker run –rm –volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower –run-once open-webui