笔记——》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目录,右键

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

相关推荐
王中阳Go16 分钟前
用TRAE Work批量优化学员简历,原来2天的活现在2小时就干完了
后端·面试·agent
Zane199416 分钟前
同一个 list 为什么能被两个 for 循环同时遍历?一文讲透可迭代对象与迭代器的真相
后端·python
我叫蒙奇20 分钟前
JS中的隐式类型转换
前端
他们叫我秃子21 分钟前
前端开发转 Go 全栈(四):代码写在前面,却要最后执行?我终于搞懂了 defer
前端·后端·go
生戎马 平安京策41 分钟前
只学一点点:我的技术学习策略
前端·javascript·react.js
大鹏说大话1 小时前
HTML5 地理定位 Geolocation:获取用户位置的“红线”与最佳实践
前端·html·html5
Csvn1 小时前
📊 SQL 入门 Day 14:聚合窗口函数 — 让 SUM / AVG 也能"滑动"起来
后端·sql
Oneslide1 小时前
K8s NodePort 端口为什么 netstat 查不到?
后端
Csvn1 小时前
content-visibility: auto —— 让浏览器跳过离屏渲染的性能黑科技
前端
小鹰信息技术服务部1 小时前
Edge安装包MicrosoftEdgeSetup.exe无法运行,点击没反应
前端·edge