【wordpress】服务器已有LNMP环境(已运行WordPress),如何配置文档访问功能?

效果如图

如果url不对,这是404页面

步骤

确定文件存放目录

先确定你要把文件放到哪个目录中,比如我要放在/var/www/jrwei.top/documents

bash 复制代码
# 创建目录
sudo mkdir -p /var/www/jrwei.top/documents

# 设置目录权限
sudo chown -R nginx:nginx /var/www/jrwei.top/documents
sudo chmod -R 755 /var/www/jrwei.top/documents
404.html

至于404页面,nginx有自带的,但是为了调试方便,我们自己造一个。这样能看到究竟是正常的404页面还是服务不可用(nginx自带的404页面)。

放在/usr/share/nginx/html/wordpress/

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>404 Not Found</title>
</head>
<body>
    <h1>404 Not Found</h1>
    <p>The page you are looking for does not exist.</p>
    <p>Please check the URL and try again.</p>
    <a href="http://jrwei.top">Return to Home</a>
</body>
</html>
修改配置文件

kimi去直接改主配置了,导致整个网站一波真404,而deepseek告诉我主配置(/etc/nginx/nginx.conf)不要改。所以我们去在/etc/nginx/conf.d目录下改default.conf.

原来:

复制代码
server {
    listen       80;
    server_name  localhost;
    root /usr/share/nginx/html/wordpress;
    location / {
            index index.php index.html index.htm;
    }
    location ~ .php$ {
            root /usr/share/nginx/html/wordpress;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

改为:

复制代码
server {
    listen 80;
    server_name jrwei.top; # 必须与主站域名一致

    # WordPress主站配置(与原default.conf保持一致)
    root /usr/share/nginx/html/wordpress;
    index index.php index.html index.htm;

    # 文档访问路径
    location /documents/ {
        alias /var/www/jrwei.top/documents/;
        autoindex on;
        try_files $uri $uri/ =404; # 防止路径遍历
    }
     # 自定义404配置
    error_page 404 /404.html;
    location = /404.html {
        internal; # 禁止直接外部访问
        # 若404.html存放在/var/www/jrwei.top/404.html则不需要alias
        # 若存放在子目录如/var/www/jrwei.top/errors/404.html,需添加:
        # alias /var/www/jrwei.top/; # 必须以/结尾
    }
    # PHP处理(必须与原配置一致)
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # WordPress固定链接支持
    location / {
        try_files $uri $uri/ /index.php?$args; # 关键!解决404问题
    }
}
重启nginx服务

在全部改动的最后,要重启服务

bash 复制代码
#测试配置是否正确
sudo nginx -t
#重新加载 Nginx 服务
sudo systemctl reload nginx

接下来是从win向linux云服务器上传文件

使用Samba服务(没成功)

公网IP:

适用场景:当你的Windows客户端位于阿里云服务器所在的外部网络(如家庭网络、公司网络、其他云服务商)时,必须通过公网IP访问。

需在阿里云安全组开放Samba端口(139和445),且Samba服务监听了公网IP(默认可能仅监听内网)。
安装

复制代码
yum install samba samba-client samba-common -y

编辑配置文件

复制代码
vim /etc/samba/smb.conf

反正最后就是失败了。

使用xshell上传文件(大文件上传一堆乱码)

参考 https://blog.csdn.net/parker007/article/details/87935464

注意使用rz -be,否则一堆乱码

但上传大文件依旧不行

winscp(好用)

选sftp协议,也不用设置入方向安全组(ftp是21),直接输入公网ip、用户、密码,直接连上,又快又好。

文件名在终端显示正常,但在网页上乱码怎么办

在default.conf的location中添加一行:charset utf-8; 重启nginx服务就好了。

结果:

相关推荐
川石课堂软件测试7 小时前
Oracle 数据库:视图与索引
数据库·网络协议·nginx·http·oracle·grafana·prometheus
小妖6668 小时前
mac 安装 nginx
运维·nginx·macos
Whitess0078 小时前
Websocket链接如何配置nginx转发规则?
websocket·网络协议·nginx
if时光重来17 小时前
springboot项目使用websocket功能,使用了nginx反向代理后连接失败问题解决
spring boot·websocket·nginx
xiaozhenghahaha17 小时前
Web相关知识(草稿)
运维·nginx
柯南二号19 小时前
【后端】Docker 常用命令详解
服务器·nginx·docker·容器
工会代表20 小时前
nginx配置,将前端项目配置到子路径下踩过的坑。
前端·nginx
云霄IT21 小时前
CentOS7安装Nginx服务——为你的网站配置https协议和自定义服务端口
服务器·nginx·https
XMYX-01 天前
Tengine/Nginx 安装以及模块查看与扩展
运维·nginx
zzz100661 天前
Web 与 Nginx 网站服务:从基础到实践
运维·前端·nginx