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