LNMP环境下搭建wordpress
本教程介绍如何在centos7 系统下基于Nginx部署搭建WordPress。包括下载WordPress,创建WordPress操作的MySQL数据库和用户,配置WordPress,在Nginx中配置WordPress以及安装WordPress。
下载WordPress
直接通过wget命令去它官网下载最新的版本:
wget http://wordpress.org/latest.tar.gz
解压:
tar -xzvf latest.tar.gz
创建WordPress操作的数据库和用户
yum 安装mysql 5.6 请参考 https://www.cnblogs.com/weifeng1463/p/7992796.html
yum 安装 nginx 请参考 https://www.cnblogs.com/weifeng1463/p/9187308.html
yum 安装 php7.1 请参考 https://www.cnblogs.com/nulige/p/9382064.html
创建MySQL时设置的root密码登录MySQL:
mysql -u root -p
创建数据库:
CREATE DATABASE wordpress;
创建用户:
CREATE USER wordpress@localhost;
设置密码:
SET PASSWORD FOR wordpress@localhost=PASSWORD("your password");
配置权限:
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'your password';
刷新权限配置:
FLUSH PRIVILEGES;
退出MySQL:
QUIT;
配置WordPress
重命名示例文件wp-config(此处的路径/root/wordpress对应你自己的存放路径):
mv /root/wordpress/wp-config-sample.php /root/wordpress/wp-config.php
修改配置文件内容:
vi /root/wordpress/wp-config.php
修改的内容包括DB_NAME,DB_USER,DB_PASSWORD以及下面的唯一key,其中前三个是在第二步自己设置的内容,唯一key可以直接去它提供的网站上拷贝,修改后的文件如下所示:

配置Nginx
nginx 的配置文件如下:
cat /etc/nginx/nginx.conf
user nobody;
worker_processes auto; error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid; events { use epoll;
worker_connections 65535;
} http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 3526;
server_names_hash_max_size 4096;
log_format main '"$remote_addr" - "$remote_user" "[$time_local]" "$request" "$request_body" "$status"'
'"$body_bytes_sent" "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'
'"$upstream_addr" "$upstream_response_time" "$upstream_status" "$request_time"'; underscores_in_headers on; #下划线header允许代理
sendfile on;
tcp_nopush on;
keepalive_timeout 30;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
client_header_buffer_size 32k;
large_client_header_buffers 4 256k;
request_pool_size 4k;
output_buffers 4 32k;
postpone_output 1460;
client_max_body_size 100m;
client_body_buffer_size 256k;
client_body_temp_path /etc/nginx/client_body_temp;
proxy_temp_path /etc/nginx/proxy_temp;
fastcgi_temp_path /etc/nginx/fastcgi_temp;
fastcgi_intercept_errors on;
tcp_nodelay on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css text/htm application/xml text/javascript application/javascript;
gzip_vary on;
access_log /var/log/nginx/access.log main;
include /etc/nginx/conf.d/*.conf;
}
cat /etc/nginx/conf.d/allplus.conf
server {
listen 80;
server_name 47.90.****.31;
index index.html index.htm index.php;
root /data/www; location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
} }
Nginx的root路径是/data/www/,所以讲wordpress里面的内容拷贝到此路径下:
cp -r /root/wordpress/* /data/www/
修改权限(可以设置网址目录文件777 , 允许所有用户可操作, 防止遇到权限问题):
chown -R 777 /data/www/
重启Nginx:
/etc/init.d/nginx restart
安装WordPress
全部搞定后,访问你的ip或者是域名应该就是这样子的了:

选择语言->设置标题与管理员用户名与密码以及电子邮件->安装WordPress
安装完后,访问你的IP或者域名,一个初始的博客就搭建好了~:

访问http://your_ip/wp-login.php,输入刚才设置的账户和密码,进入博客管理界面,在这里可以写文章,改主题,应用插件等等,改完再访问你的博客主页就会看到更新~:

上传主体theme时遇到的问题:
问题描述
WordPress 上传题压缩包时出现这个问题
The link you followed has expired.
原因
服务器的上传限制(默认限制为20M)。
解决方法
修改 php.ini 文件中:
vim /etc/php.ini
修改如下三项(将值根据实际情况调大):
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
重启php-fpm ,nginx服务
systemctl restart nginx
systemctl restart php-fpm
2. 上传主体需要ftp的问题
使用SFTP连接到服务器,进入wp-content目录,新建tmp文件夹,设置文件夹的权限为777。返回网站根目录,编辑wp-config.php
添加下列代码(注意中英文符号)
define('WP_TEMP_DIR',ABSPATH.'wp-content/tmp');
define("FS_METHOD","direct");
define("FS_CHMOD_DIR",0777);
define("FS_CHMOD_FILE",0777);
注意:要在定义ABSPATH的后面添加
最后的代码应该是
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', dirname( __FILE__ ) . '/' );
} define('WP_TEMP_DIR',ABSPATH.'wp-content/tmp');
define("FS_METHOD","direct");
define("FS_CHMOD_DIR",0777);
define("FS_CHMOD_FILE",0777);
保存后设置wp-content目录中的plugins和themes文件夹权限为777,此时插件和主题已经可以直接更新了。注意操作顺序,先建立tmp,后设置权限为777,再修改wp-config.php配置文件
LNMP环境下搭建wordpress的更多相关文章
- LNMP环境下搭建SVN服务
最近自己买了个服务器,试着在上面搭建了LNMP环境,因为以前在本地用MAMP Pro搭建过LAMP环境,所以基本上还算是轻车熟路,第一次搭建LNMP,使用的是一键安装,过程是顺利的,后来在使用过程中遇 ...
- linux搭建的LNMP环境下的mysql授权远程连接
用phpstudy搭建的lnmp环境下mysql授权远程连接 简单高效 这是因为mysql 里的优先级不是所有人(提前检查防火墙是关闭状态)1.使用phpstudy安装的mysql没有放置到可以直接调 ...
- 【经验之谈】Windows环境下配置WordPress
前言 wordpress全球著名的开放博客平台,拥有成千上万个各式插件和不计其数的主题模板样式,使用php和mysql搭建,下面说下载windows环境下配置wordpress,经验之谈. 安装 关于 ...
- 记一次lnmp环境下无法执行php文件
lnmp环境搭建好后却无法正常执行php文件,坑爹啊!~ [错误状况] 页面直接打印出php代码内容: php文件无法执行?: 查看nginx配置文件: server { listen 80; ser ...
- Linux:LNMP环境的搭建
LNMP环境的搭建 安装DNS服务器 安装DNS服务 yum install bind -y DNS的配置 创建正向解析 以创建一个名为"lsy.com"的正向查找区域为例: 第一 ...
- lnmp环境快速搭建及原理解析
刚开始学习php的时候是在wamp环境下开发的,后来才接触到 lnmp 环境当时安装lnmp是按照一大长篇文档一步步的编译安装,当时是真不知道是在做什么啊!脑袋一片空白~~,只知道按照那么长的一篇文档 ...
- ubuntu 14.04LTS 环境下搭建tftp服务器
花费我一整天的时间在 ubuntu 14.04LTS 环境下搭建tftp服务器,网上好多资料参差不齐,简单来说,TFTP(Trivial File Transfer Protocol),是一个基于UD ...
- Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1
交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...
- 非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法
非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法 环境:非域环境 因为是自动故障转移,需要加入见证,事务安全模式是,强安全FULL模式 做到最后一 ...
随机推荐
- 虚拟主机、VPS以及云主机的区别和对比
对于很多需要建网站的朋友来说,虚拟主机是必须要了解的基础知识.虚拟主机相对于VPS与云主机来说出现的较早,也是被大多数站长所了解的主机.很多人容易将这三者混淆,弄不清楚三者的联系与区别.那么虚拟主机. ...
- https和http有什么区别
在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和h ...
- Asp.net mvc 中的路由
在 Asp.net mvc 中,来自客户端的请求总是针对某个 Controller 中的 Action 方法,因此,必须采用某种机制从请求的 URl 中解析出对应的 Controller 和 Acti ...
- P2P视频模块
P2P视频模块数据手册 公 司 : 深圳市万秀电子有限公司 网 站 : http://www.wanxiucx.com 总 机 : 0755-23215689 联系人: 张先生 手 机 : 1 ...
- J.U.C JMM. pipeline.指令重排序,happen-before(续)
前面已经介绍硬件平台Cache Coherence问题和解决办法,下面来看看Java虚拟机平台的相关知识.硬件平台处理器,高速缓存,主存之间的交互关系如下: Java内存模型(JMM) ...
- git 简单入门
首先了解一下git的是什么: [百度百科解释]Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 ...
- js双向绑定和地址传递带来的痛苦解决方案之对象拷贝
function cloneObj(obj) { var newObj = {}; if (obj instanceof Array) { newObj = []; } for (var key in ...
- android 软键盘的使用
AndroidManifest.xml文件中界面对应的<activity>里加入android:windowSoftInputMode="adjustPan" 键盘 ...
- NodeJs实现他人项目实例
1.简单实例,参考 https://github.com/alsotang/node-lessons/tree/master/lesson2 2.express一个新项目 ,但出现警告 发现少了nod ...
- Elasticsearch 全教程--入门
1.1 初识 Elasticsearch 是一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎,可以说 Lucene 是当今最先进,最高效的全功能开源搜索引擎框架. 但是 L ...