阿里龙蜥8安装php,nginx,wordpress

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf module reset php
sudo dnf module enable php:remi-7.4
yum install -y php php-fpm php-mysqli php-pdo_mysql php-gd php-curl php-xml php-zip php-mbstring php-json;

权限配置:

# 1. 递归设置所有目录为755权限(可遍历、可读、可执行,允许apache进入目录)
find /data/wordpress/maxwoods.net -type d -exec chmod 755 {} \;

# 2. 递归设置所有文件为644权限(可读,允许apache读取脚本/静态文件,禁止无关用户修改)
find /data/wordpress/maxwoods.net -type f -exec chmod 644 {} \;

# 3. 单独设置wp-content目录为775权限(可写,用于WordPress上传图片、安装插件/主题)
chmod -R 775 /data/wordpress/maxwoods.net/wp-content

php-fpm配置:

#修改/etc/php-fpm.d/www.conf

user = apache  # 场景1:默认值(部分CentOS/RHEL系统)
# 或
user = nginx   # 场景2:优化后,与Nginx运行用户一致
# 或
user = wordpress  # 场景3:你之前创建的专用用户(推荐,与WordPress文件归属一致)
# 或
user = www-data  # 场景4:Debian/Ubuntu系统默认值

nginx配置

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name www.maxwoods.net;

    # 引入SSL配置(证书、协议等,确保ssl.conf文件路径正确)
    include "/etc/nginx/conf.d/ssl.conf";

    # WordPress根目录与索引文件
    root /data/wordpress/maxwoods.net;
    index index.php;

    # 1. 精确匹配:屏蔽favicon.ico请求(优先级最高,无冲突)
    location = /favicon.ico {
        return 204;
        log_not_found off;
        access_log off;
    }

    # 2. 优先匹配:静态资源处理(无if阻断,正常生效,优化性能)
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|eot)$ {
        expires 30d;  # 静态资源缓存30天,减少重复请求
        log_not_found off;  # 屏蔽文件未找到错误日志
        access_log off;     # 屏蔽静态资源访问日志
        root /data/wordpress/maxwoods.net;  # 明确根目录,避免继承异常
    }

    # 3. 核心:WordPress伪静态处理(移除冲突的if判断,逻辑纯净)
    location / {
        try_files $uri $uri/ /index.php?$request_uri;  # 标准伪静态规则,无重定向循环
    }

    # 4. 补充:wp-admin目录专属优化(提升后台访问稳定性,避免目录请求异常)
    location /wp-admin/ {
        try_files $uri $uri/ /wp-admin/index.php?$request_uri;
        root /data/wordpress/maxwoods.net;
        index index.php;
    }

    # 5. PHP脚本解析(放在最后,仅匹配.php结尾请求,无误匹配)
    location ~ \.php$ {
        # 确认PHP-FPM监听地址正确(端口或unix sock)
        fastcgi_pass 127.0.0.1:9000;

        # 核心:正确拼接PHP脚本路径,解决"Primary script unknown"
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        # 补充:拆分路径信息,适配目录下的PHP脚本(如wp-admin/index.php)
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

        # 加载默认FastCGI参数
        include fastcgi_params;

        # 指定PHP入口文件
        fastcgi_index index.php;

        # 优化缓冲区,避免大响应(如后台上传文件)被截断
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;

        # 安全防护:仅解析真实存在的PHP文件,防止恶意请求
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }
    }
}

# (可选,推荐添加)80端口永久重定向到443 HTTPS,强制HTTPS访问
server {
			listen 80;
	    listen [::]:80;
	    server_name www.maxwoods.net;

	    # 永久重定向(301),保留原请求路径,提升SEO和用户体验
	    return 301 https://$host$request_uri;
}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享