笔记——》wordpress(三):发布wordpress站点到linux服务器

摘要

前两篇笔记已经知道了什么是wordpress和做wordpress的内容采集。那么剩下的事情就是 把wordpress发布到服务器上线了。

步骤

wordpress 运行需要php、nginx环境。所以我们的服务器上需要有php环境,nginx环境。 这个基础环境配置,网上有很多教程,本篇不赘述了。由于不借助宝塔面板,我们需要做的有以下几点:

1、上传wordpres文件

  1. 首先,在服务器上新建一个目录,随便哪个位置都行,比如我的目录名叫 kuaJing
  2. 通过xftp工具把本地文件(phpEnv\www\localhost 路径下的)上传到服务器上,就是wordpress主目录及子目录所有文件

2、修改config配置文件

修改数据库连接配置,使之能连接到远程数据库。

config 复制代码
/** Database username */
define( 'DB_USER', 'root' );

/** Database password */
define( 'DB_PASSWORD', '123456' );

/** Database hostname */
define( 'DB_HOST', 'xxxx.mysql.rds.aliyuncs.com' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );

3,修改nginx配置

  1. 执行命令查看nginx安装路径where is nginx
  2. 通过上一步可以查到nginx的安装目录,cd 到安装目录的conf目录下,vim nginx.conf 文件
  3. 把下面的 配置添加到 nginx.conf文件中,一个conf文件是运行多个server的,别添加到另一个server区块里面了

其中:

  • server_name 是服务器的外网ip
  • root 是wordpress的目录
  • 其他的配置就直接复制,不用修改
config 复制代码
upstream php {
        server unix:/tmp/php-cgi.socket;
        server 127.0.0.1:9000;
	}

server {
        ## Your website name goes here.
        server_name 105.xxx.xxx.193;
        ## Your only path reference.
        root /root/build/kuaJing;
        ## This should be in your http block and if it is, it's not needed here.
        index index.php;

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

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

        location / {
                # This is cool because no php is touched for static content.
                # include the "?$args" part so non-default permalinks doesn't break when using query string
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ .php$ {
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi_params;
                fastcgi_intercept_errors on;
                fastcgi_pass php;
                #The following parameter can be also included in fastcgi_params file
                fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

        location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
}

修改完之后执行命令,service nginx restart,nginx就会重启,此时我们在浏览器输入服务器ip,也就是上面配置的 server_name中的ip,就可以看到wordpress页面啦。

小问题解决

1、网址域名映射

我们正式上线后,如果要给站点做推广,直接丢过去一个ip地址,说访问这个ip就能看到网站,这肯定不合理的。我们需要用域名映射到这个ip,比如我是阿里云服务器,就可以

在阿里云控制台=》云解析DNS=》xxx.com(域名实例)=》解析设置=》添加记录

给ip套一个域名,就正规多了,以后就可以用域名访问wordpress了,此时可以说网站已上线。

2、域名跳转到localhost或host

当我们用域名跳转到wordpress首页时,此时在页面上 不论点哪个菜单还是按钮,都会跳到localhost上,这种情况下就要修改数据库配置了

mysql 复制代码
select * from wp_options where option_name in ('siteurl','home');

把通过上面的sql查询到的数据的option_value从 localhost或者ip 更新成 域名 即可。

3、文件权限

当我们在已经上线的网站上 上传媒体库文件或安装插件的时候,可能会提示 上传失败 或是安装失败。大概率是因为权限问题导致的 ,我们按照下面的配置操作,应该能解决问题

举个例子,假如我们到媒体库上传图片提示失败,那我们点到uploads目录,右键

点击其他、勾选写入、点击确定

相关推荐
GoldKey2 小时前
gcc 源码阅读---语法树
linux·前端·windows
熟悉的新风景2 小时前
springboot项目或其他项目使用@Test测试项目接口配置-spring-boot-starter-test
java·spring boot·后端
Xf3n1an3 小时前
html语法
前端·html
张拭心4 小时前
亚马逊 AI IDE Kiro “狙击”Cursor?实测心得
前端·ai编程
烛阴4 小时前
为什么你的Python项目总是混乱?层级包构建全解析
前端·python
晴空月明4 小时前
分布式系统高可用性设计 - 监控与日志系统
后端
@大迁世界4 小时前
React 及其生态新闻 — 2025年6月
前端·javascript·react.js·前端框架·ecmascript
songroom5 小时前
【转】Rust: PhantomData,#may_dangle和Drop Check 真真假假
开发语言·后端·rust
红尘散仙5 小时前
Rust 终端 UI 开发新玩法:用 Ratatui Kit 轻松打造高颜值 CLI
前端·后端·rust
mldong5 小时前
mldong-goframe:基于 GoFrame + Vben5 的全栈快速开发框架正式开源!
vue.js·后端·go