本教程介绍如何在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配置文件