Linux搭建WordPress博客

WordPress是使用PHP语言开发的博客平台程序,搭建属于自己的独立博客相信是绝大部分IT从业者、业余爱好者们开启漫长学习的第一步,今天给大家分享如何使用Linux搭建WordPress博客。

实验环境

操作系统:CentOS 7.7

主机地址:192.168.168.100

网站域名:wordpress.wanghualang.com

WordPress:5.3.2

Nginx:1.16.1

MySQL:5.7.28

PHP:7.4.1

Zlib:1.2.11

Pcre:8.43

OpenSSL:1.0.2u

Ngx_lua_waf:1.0.3

Ngx_devel_kit:0.3.1

Luajit:2.1

Lua-resty-core:0.1.17

Lua-resty-lrucache:0.09

Lua-nginx-module:0.10.15

安装篇

第一步 安装依赖包

  1. [root@wanghualang ~]# yum -y install epel-release     
  2. [root@wanghualang ~]# yum -y install gcc gcc-c++ autoconf automake wget vim make cmake openssl-devel bison-devel ncurses-devel libsqlite3x-devel oniguruma-devel curl-devel libxml2-devel libjpeg-devel libpng-devel freetype-devel libicu-devel libsodium-devel    

第二步 下载、解压源码包

  1. [root@wanghualang ~]# cd /usr/local/src/    
  2. [root@wanghualang src]# wget --no-check-certificate http://zlib.net/zlib-1.2.11.tar.gz  
  3. [root@wanghualang src]# wget --no-check-certificate https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz  
  4. [root@wanghualang src]# wget --no-check-certificate http://nginx.org/download/nginx-1.16.1.tar.gz  
  5. [root@wanghualang src]# wget --no-check-certificate https://www.php.net/distributions/php-7.4.1.tar.gz  
  6. [root@wanghualang src]# wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2u.tar.gz  
  7. [root@wanghualang src]# wget --no-check-certificate https://cn.wordpress.org/wordpress-5.3.2-zh_CN.tar.gz  
  8. [root@wanghualang src]# wget --no-check-certificate https://github.com/whsir/ngx_lua_waf/archive/v1.0.3.tar.gz    
  9. [root@wanghualang src]# wget --no-check-certificate https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1.tar.gz    
  10. [root@wanghualang src]# wget --no-check-certificate https://github.com/openresty/luajit2/archive/v2.1-20190912.tar.gz    
  11. [root@wanghualang src]# wget --no-check-certificate https://github.com/openresty/lua-resty-core/archive/v0.1.17.tar.gz    
  12. [root@wanghualang src]# wget --no-check-certificate https://github.com/openresty/lua-resty-lrucache/archive/v0.09.tar.gz    
  13. [root@wanghualang src]# wget --no-check-certificate https://github.com/openresty/lua-nginx-module/archive/v0.10.15.tar.gz    
  14. [root@wanghualang src]# wget --no-check-certificate https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.28.tar.gz  
  15. [root@wanghualang src]# tar xzf pcre-8.43.tar.gz  
  16. [root@wanghualang src]# tar xzf php-7.4.1.tar.gz  
  17. [root@wanghualang src]# tar xzf zlib-1.2.11.tar.gz  
  18. [root@wanghualang src]# tar xzf nginx-1.16.1.tar.gz  
  19. [root@wanghualang src]# tar xzf openssl-1.0.2u.tar.gz  
  20. [root@wanghualang src]# tar xzf ngx_lua_waf-1.0.3.tar.gz    
  21. [root@wanghualang src]# tar xzf ngx_devel_kit-0.3.1.tar.gz    
  22. [root@wanghualang src]# tar xzf mysql-boost-5.7.28.tar.gz  
  23. [root@wanghualang src]# tar xzf luajit2-2.1-20190912.tar.gz    
  24. [root@wanghualang src]# tar xzf lua-resty-core-0.1.17.tar.gz    
  25. [root@wanghualang src]# tar xzf lua-resty-lrucache-0.09.tar.gz  
  26. [root@wanghualang src]# tar xzf wordpress-5.3.2-zh_CN.tar.gz   
  27. [root@wanghualang src]# tar xzf lua-nginx-module-0.10.15.tar.gz  

第三步 编译安装luajit2、Lua-resty-core、Lua-resty-lrucache

  1. [root@wanghualang ~]# cd /usr/local/src/luajit2-2.1-20190912  
  2. [root@wanghualang luajit2-2.1-20190912]# make  
  3. [root@wanghualang luajit2-2.1-20190912]# make install  

  1. [root@wanghualang ~]# cd /usr/local/src/lua-resty-core-0.1.17  
  2. [root@wanghualang lua-resty-core-0.1.17]# make install  

  1. [root@wanghualang ~]# cd /usr/local/src/lua-resty-lrucache-0.09  
  2. [root@wanghualang lua-resty-lrucache-0.09]# make install  

第四步 配置luajit2环境变量

  1. [root@wanghualang ~]# export LUAJIT_LIB=/usr/local/lib  
  2. [root@wanghualang ~]# export LUAJIT_INC=/usr/local/include/luajit-2.1  

第五步 新建用户组、用户

  1. [root@wanghualang ~]# groupadd nginx        
  2. [root@wanghualang ~]# groupadd mysql      
  3. [root@wanghualang ~]# useradd nginx -M -g nginx -s /sbin/nologin      
  4. [root@wanghualang ~]# useradd mysql -M -g mysql -s /sbin/nologin    

第六步 编译安装Nginx(按需添加更多功能模块)

  1. [root@wanghualang ~]# cd /usr/local/src/nginx-1.16.1          
  2. [root@wanghualang nginx-1.16.1]# ./configure \
  3. --user=nginx \
  4. --group=nginx \
  5. --prefix=/usr/local/nginx \
  6. --with-pcre=/usr/local/src/pcre-8.43 \
  7. --with-openssl=/usr/local/src/openssl-1.0.2u \
  8. --with-zlib=/usr/local/src/zlib-1.2.11 \
  9. --with-http_gzip_static_module \
  10. --with-http_dav_module \
  11. --with-http_stub_status_module \
  12. --with-http_addition_module \
  13. --with-http_sub_module \
  14. --with-http_flv_module \
  15. --with-http_mp4_module \
  16. --with-http_ssl_module  \
  17. --with-http_v2_module  \
  18. --with-ld-opt=-Wl,-rpath,$LUAJIT_LIB  \
  19. --add-module=/usr/local/src/ngx_devel_kit-0.3.1  \
  20. --add-module=/usr/local/src/lua-nginx-module-0.10.15
  21. [root@wanghualang nginx-1.16.1]# make  
  22. [root@wanghualang nginx-1.16.1]# make install  

第七步 配置启动服务脚本、开机启动

  1. [root@wanghualang ~]# vim /etc/init.d/nginx    
  2.   
  3. #!/bin/bash      
  4. #chkconfig: 2345 55 25      
  5.       
  6. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin      
  7. NAME=nginx      
  8. NGINX_BIN=/usr/local/nginx/sbin/$NAME      
  9. CONFIGFILE=/usr/local/nginx/conf/$NAME.conf      
  10. PIDFILE=/usr/local/nginx/logs/$NAME.pid    
  11.     
  12. if [ -s /bin/ss ]; then      
  13.     StatBin=/bin/ss      
  14. else      
  15.     StatBin=/bin/netstat      
  16. fi      
  17.       
  18.       
  19. case "$1" in      
  20.     start)      
  21.         echo -n "Starting $NAME... "      
  22.       
  23.         if $StatBin -tnpl | grep -q nginx;then      
  24.             echo "$NAME (pid `pidof $NAME`) already running."      
  25.             exit 1      
  26.         fi      
  27.       
  28.         $NGINX_BIN -c $CONFIGFILE      
  29.       
  30.         if [ "$?" != 0 ] ; then      
  31.             echo " failed"      
  32.             exit 1      
  33.         else      
  34.             echo " done"      
  35.         fi      
  36.         ;;      
  37.       
  38.     stop)      
  39.         echo -n "Stoping $NAME... "      
  40.       
  41.         if ! $StatBin -tnpl | grep -q nginx; then      
  42.             echo "$NAME is not running."      
  43.             exit 1      
  44.         fi      
  45.       
  46.         $NGINX_BIN -s stop      
  47.       
  48.         if [ "$?" != 0 ] ; then      
  49.             echo " failed. Use force-quit"      
  50.             exit 1      
  51.         else      
  52.             echo " done"      
  53.         fi      
  54.         ;;      
  55.       
  56.     status)      
  57.         if $StatBin -tnpl | grep -q nginx; then      
  58.             PID=`pidof nginx`      
  59.             echo "$NAME (pid $PID) is running..."      
  60.         else      
  61.             echo "$NAME is stopped."      
  62.             exit 0      
  63.         fi      
  64.         ;;      
  65.       
  66.     force-quit|kill)      
  67.         echo -n "Terminating $NAME... "      
  68.       
  69.         if ! $StatBin -tnpl | grep -q nginx; then      
  70.             echo "$NAME is is stopped."      
  71.             exit 1      
  72.         fi      
  73.       
  74.         kill `pidof $NAME`      
  75.       
  76.         if [ "$?" != 0 ] ; then      
  77.             echo " failed"      
  78.             exit 1      
  79.         else      
  80.             echo " done"      
  81.         fi      
  82.         ;;      
  83.       
  84.     restart)      
  85.         $0 stop      
  86.         sleep 1      
  87.         $0 start      
  88.         ;;      
  89.       
  90.     reload)      
  91.         echo -n "Reload service $NAME... "      
  92.       
  93.         if $StatBin -tnpl | grep -q nginx; then      
  94.             $NGINX_BIN -s reload      
  95.             echo " done"      
  96.         else      
  97.             echo "$NAME is not running, can't reload."      
  98.             exit 1      
  99.         fi      
  100.         ;;      
  101.       
  102.     configtest)      
  103.         echo -n "Test $NAME configure files... "      
  104.       
  105.         $NGINX_BIN -t      
  106.         ;;      
  107.       
  108.     *)      
  109.         echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}"      
  110.         exit 1      
  111.         ;;      
  112.       
  113. esac      

  1. [root@wanghualang ~]# chmod +x /etc/init.d/nginx      
  2. [root@wanghualang ~]# chkconfig --add nginx      
  3. [root@wanghualang ~]# chkconfig nginx on   

第八步 编译安装MySQL(按需添加更多功能模块)

  1. [root@wanghualang ~]# cd /usr/local/src/mysql-5.7.28  
  2. [root@wanghualang mysql-5.7.28]# cmake  \
  3. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
  4. -DSYSCONFDIR=/etc  \
  5. -DMYSQL_TCP_PORT=3306  \
  6. -DEXTRA_CHARSETS=all  \
  7. -DDEFAULT_CHARSET=utf8mb4  \
  8. -DDEFAULT_COLLATION=utf8mb4_general_ci  \
  9. -DWITH_MYISAM_STORAGE_ENGINE=1  \
  10. -DWITH_INNOBASE_STORAGE_ENGINE=1  \
  11. -DWITH_PARTITION_STORAGE_ENGINE=1  \
  12. -DWITH_FEDERATED_STORAGE_ENGINE=1  \
  13. -DWITH_EMBEDDED_SERVER=1  \
  14. -DENABLED_LOCAL_INFILE=1  \
  15. -DWITH_BOOST=/usr/local/src/mysql-5.7.28/boost/boost_1_59_0
  16. [root@wanghualang mysql-5.7.28]# make  
  17. [root@wanghualang mysql-5.7.28]# make install  

第九步 优化数据库配置(4G内存优化方案,仅供参考)

  1. [root@wanghualang ~]# mv /etc/my.cnf /etc/my.cnf.bak     
  2. [root@wanghualang ~]# vim /etc/my.cnf        
  3.         
  4. [client]       
  5. port=3306        
  6. socket=/tmp/mysql.sock        
  7.       
  8. [mysql]        
  9. no-auto-rehash        
  10.         
  11. [mysqld]        
  12. port=3306        
  13. bind_address=127.0.0.1        
  14. binlog_cache_size=128K        
  15. thread_stack=256K        
  16. join_buffer_size=2048K        
  17. query_cache_type=1        
  18. max_heap_table_size=512M        
  19. pid-file=/tmp/mysql.pid        
  20. socket=/tmp/mysql.sock        
  21. datadir=/usr/local/mysql/data        
  22. skip-external-locking        
  23. performance_schema_max_table_instances=400        
  24. table_definition_cache=400        
  25. key_buffer_size=384M        
  26. max_allowed_packet=100G        
  27. table_open_cache=384        
  28. sort_buffer_size=1024K        
  29. net_buffer_length=8K        
  30. read_buffer_size=1024K        
  31. read_rnd_buffer_size=768K        
  32. myisam_sort_buffer_size=16M        
  33. thread_cache_size=128        
  34. query_cache_size=192M        
  35. tmp_table_size=512M        
  36. sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES        
  37. explicit_defaults_for_timestamp=true        
  38. #skip-networking        
  39. max_connections=300        
  40. max_connect_errors=100        
  41. open_files_limit=65535        
  42. #log-bin=mysql-bin        
  43. #binlog_format=mixed        
  44. server-id=1        
  45. expire_logs_days=10        
  46. slow_query_log=1        
  47. slow-query-log-file=/usr/local/mysql/data/mysql-slow.log        
  48. long_query_time=3        
  49. #log_queries_not_using_indexes=on        
  50. early-plugin-load=""        
  51. default_storage_engine=InnoDB        
  52. innodb_data_home_dir=/usr/local/mysql/data        
  53. innodb_data_file_path=ibdata1:10M:autoextend        
  54. innodb_log_group_home_dir=/usr/local/mysql/data        
  55. innodb_buffer_pool_size=512M        
  56. innodb_log_file_size=128M        
  57. innodb_log_buffer_size=32M        
  58. innodb_flush_log_at_trx_commit=1        
  59. innodb_lock_wait_timeout=120        
  60. innodb_max_dirty_pages_pct=90        
  61. innodb_read_io_threads=2        
  62. innodb_write_io_threads=2        
  63.         
  64. [mysqldump]        
  65. quick        
  66. max_allowed_packet=16M        
  67.         
  68. [myisamchk]        
  69. key_buffer_size=64M        
  70. sort_buffer_size=1M        
  71. read_buffer=2M        
  72. write_buffer=2M        
  73.         
  74. [mysqlhotcopy]        
  75. interactive-timeout  

第十步 修改MySQL数据库目录、配置文件权限

  1. [root@wanghualang ~]# chown mysql:mysql /etc/my.cnf      
  2. [root@wanghualang ~]# chown -R mysql:mysql /usr/local/mysql   

第十一步 配置MySQL数据库环境变量

  1. [root@wanghualang ~]# echo "export PATH="/usr/local/mysql/bin:$PATH">> /etc/profile        
  2. [root@wanghualang ~]# source /etc/profile  

第十二步 配置MySQL启动服务脚本、开机启动

  1. [root@wanghualang ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld      
  2. [root@wanghualang ~]# chmod +x /etc/init.d/mysqld        
  3. [root@wanghualang ~]# chkconfig --add mysqld        
  4. [root@wanghualang ~]# chkconfig mysqld on  

第十三步 初始化MySQL数据库

  1. [root@wanghualang ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  

第十四步 编译安装PHP(按需添加更多功能模块)

  1. [root@wanghualang ~]# cd /usr/local/src/php-7.4.1      
  2. [root@wanghualang php-7.4.1]# ./configure \
  3. --prefix=/usr/local/php \
  4. --with-config-file-path=/usr/local/php/etc  \
  5. --enable-mysqlnd  \
  6. --enable-xml  \
  7. --enable-bcmath  \
  8. --enable-shmop  \
  9. --enable-sysvsem  \
  10. --enable-inline-optimization  \
  11. --enable-mbregex  \
  12. --enable-mbstring  \
  13. --enable-intl  \
  14. --enable-ftp  \
  15. --enable-pcntl  \
  16. --enable-sockets  \
  17. --enable-soap  \
  18. --enable-opcache  \
  19. --enable-fpm  \
  20. --enable-gd  \
  21. --with-fpm-user=nginx  \
  22. --with-fpm-group=nginx  \
  23. --with-mysqli=mysqlnd  \
  24. --with-pdo-mysql=mysqlnd  \
  25. --with-iconv-dir  \
  26. --with-freetype  \
  27. --with-jpeg  \
  28. --with-zlib  \
  29. --with-libxml  \
  30. --with-curl  \
  31. --with-openssl  \
  32. --with-mhash  \
  33. --with-xmlrpc  \
  34. --with-gettext  \
  35. --with-sodium  \
  36. --disable-fileinfo  \
  37. --disable-rpath  \
  38. --disable-debug
  39. [root@wanghualang ~]# make  
  40. [root@wanghualang ~]# make install  

第十五步 创建PHP配置文件

  1. [root@wanghualang ~]# cp /usr/local/src/php-7.4.1/php.ini-production /usr/local/php/etc/php.ini      
  2. [root@wanghualang ~]# cp /usr/local/src/php-7.4.1/sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf      
  3. [root@wanghualang ~]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf  

第十六步 配置PHP启动服务脚本、开机启动

  1. [root@wanghualang ~]# cp /usr/local/src/php-7.4.1/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm      
  2. [root@wanghualang ~]# chmod +x /etc/init.d/php-fpm      
  3. [root@wanghualang ~]# chkconfig --add php-fpm      
  4. [root@wanghualang ~]# chkconfig php-fpm on  

第十七步 安装ngx_lua_waf防火墙

  1. [root@wanghualang ~]# mv /usr/local/src/ngx_lua_waf-1.0.3 /usr/local/nginx/conf/waf  

第十八步 配置Nginx

  1. [root@wanghualang ~]# mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak    
  2. [root@wanghualang ~]# vim /usr/local/nginx/conf/nginx.conf      
  3.   
  4. #运行用户      
  5. user nginx nginx;      
  6.       
  7. #工作进程      
  8. worker_processes auto;      
  9.       
  10. #最大文件打开数      
  11. worker_rlimit_nofile 51200;      
  12.       
  13. #进程PID      
  14. pid /usr/local/nginx/logs/nginx.pid;      
  15.       
  16. #错误日志      
  17. error_log /usr/local/nginx/logs/error.log crit;      
  18.       
  19. #工作模式及连接数上限      
  20. events {      
  21.   use epoll;      
  22.   worker_connections 51200;      
  23.   multi_accept on;      
  24. }      
  25.       
  26. http {      
  27.   
  28.   #配置ngx_lua_waf防火墙  
  29.   lua_package_path "/usr/local/lib/lua/?.lua;/usr/local/nginx/conf/waf/?.lua;;";  
  30.   lua_shared_dict limit 10m;  
  31.   init_by_lua_file /usr/local/nginx/conf/waf/init.lua;  
  32.   access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;  
  33.     
  34.   #加载虚拟主机配置文件      
  35.   include /usr/local/nginx/vhost/*.conf;      
  36.       
  37.   #文件扩展名与类型映射表      
  38.   include mime.types;      
  39.       
  40.   #默认文件类型      
  41.   default_type application/octet-stream;      
  42.       
  43.   #请求缓存      
  44.   server_names_hash_bucket_size 512;      
  45.   client_header_buffer_size 32k;      
  46.   large_client_header_buffers 4 32k;      
  47.   client_max_body_size 50m;      
  48.       
  49.   #高效传输模式      
  50.   sendfile on;      
  51.   tcp_nopush on;      
  52.   tcp_nodelay on;      
  53.       
  54.   #连接超时时间      
  55.   keepalive_timeout 60;      
  56.       
  57.   #FastCGI优化      
  58.   fastcgi_connect_timeout 300;      
  59.   fastcgi_send_timeout 300;      
  60.   fastcgi_read_timeout 300;      
  61.   fastcgi_buffer_size 64k;      
  62.   fastcgi_buffers 4 64k;      
  63.   fastcgi_busy_buffers_size 128k;      
  64.   fastcgi_temp_file_write_size 256k;      
  65.   fastcgi_intercept_errors on;      
  66.       
  67.   #开启GZIP压缩功能      
  68.   gzip on;      
  69.   gzip_min_length 1k;      
  70.   gzip_buffers 4 16k;      
  71.   gzip_http_version 1.1;      
  72.   gzip_comp_level 2;      
  73.   gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;      
  74.   gzip_vary on;      
  75.   gzip_proxied expired no-cache no-store private auth;      
  76.   gzip_disable "MSIE [1-6]\.";      
  77.       
  78.   #限制访问频率      
  79.   #limit_conn_zone $binary_remote_addr zone=perip:10m;      
  80.   #limit_conn_zone $server_name zone=perserver:10m;      
  81.       
  82.   #隐藏响应header和错误通知中的版本号      
  83.   server_tokens off;      
  84.   access_log off;      
  85.      

第十九步 创建WordPress网站目录

  1. [root@wanghualang ~]# mv /usr/local/src/wordpress /usr/local/nginx/html/wordpress.wanghualang.com  
  2. [root@wanghualang ~]# chown -R nginx:nginx /usr/local/nginx/html/wordpress.wanghualang.com  

第二十步 创建WordPress网站虚拟主机

  1. [root@wanghualang ~]# mkdir /usr/local/nginx/vhost  
  2. [root@wanghualang ~]# vim /usr/local/nginx/vhost/wordpress.wanghualang.com.conf  
  3.     
  4. server {    
  5.     
  6.   #监听端口    
  7.   listen 80;    
  8.     
  9.   #网站根目录    
  10.   root /usr/local/nginx/html/wordpress.wanghualang.com/;    
  11.     
  12.   #虚拟主机名称    
  13.   server_name wordpress.wanghualang.com;    
  14.     
  15.   #网站主页排序    
  16.   index index.php index.html index.htm default.php default.htm default.html;    
  17.     
  18.   #网站访问、错误日志    
  19.   access_log /usr/local/nginx/logs/wordpress.wanghualang.com.access.log;    
  20.   error_log /usr/local/nginx/logs/wordpress.wanghualang.com.error.log;    
  21.     
  22.   #流量限制(网站最大并发数500|单IP访问最大并发数50|每个请求流量上限1024KB)    
  23.   #limit_conn perserver 500;    
  24.   #limit_conn perip 50;    
  25.   #limit_rate 1024k;    
  26.       
  27.   #配置错误页面    
  28.   #error_page 404 /404.html;    
  29.   #error_page 500 502 503 504 /50x.html;    
  30.       
  31.   #配置WordPress伪静态    
  32.   location / {    
  33.     try_files $uri $uri/ /index.php?$args;    
  34.   }    
  35.     
  36.   #禁止访问文件和目录    
  37.   location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) {    
  38.     return 404;    
  39.   }    
  40.     
  41.   #配置资源防盗链    
  42.   location ~ .*\.(jpg|jpeg|gif|png|js|css)$ {    
  43.     expires 30d;    
  44.     access_log /dev/null;    
  45.     valid_referers none blocked wordpress.wanghualang.com;    
  46.     if ($invalid_referer) {    
  47.       return 404;    
  48.     }    
  49.   }    
  50.     
  51.   #配置图片资源缓存时间    
  52.   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {    
  53.     expires 30d;    
  54.     error_log off;    
  55.     access_log /dev/null;    
  56.   }    
  57.       
  58.   #设置样式资源缓存时间    
  59.   location ~ .*\.(js|css)?$ {    
  60.     expires 12h;    
  61.     error_log off;    
  62.     access_log /dev/null;    
  63.   }    
  64.     
  65.   #解析PHP    
  66.   location ~* \.php$ {    
  67.     fastcgi_index index.php;    
  68.     fastcgi_pass 127.0.0.1:9000;    
  69.     include fastcgi_params;    
  70.     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    
  71.     fastcgi_param SCRIPT_NAME $fastcgi_script_name;    
  72.   }    
  73. }  

第二十一步 启动Nginx、MySQL、PHP

  1. [root@wanghualang ~]# service nginx start    
  2. [root@wanghualang ~]# service mysqld start    
  3. [root@wanghualang ~]# service php-fpm start   

第二十二步 创建WordPress网站数据库

  1. [root@wanghualang ~]# mysql    
  2.   
  3. #登陆安全加固(下次登录时需要输入密码)    
  4. mysql> use mysql;    
  5. mysql> update user set authentication_string=PASSWORD("123456") where user='root';      
  6. mysql> update user set plugin="mysql_native_password";    
  7.     
  8. #创建数据库(wordpress)、用户(wanghualang)、密码(123456)      
  9. mysql> create database `wordpress` character set 'utf8mb4' collate 'utf8mb4_general_ci';      
  10. mysql> create user `wanghualang`@`127.0.0.1` identified by '123456';      
  11. mysql> grant all on wordpress.* to `wanghualang`@`127.0.0.1`;      
  12. mysql> flush privileges;      
  13. mysql> quit    

第二十三步 域名解析

本次实验环境为VMware虚拟机,通过修改Windows物理机Hosts表实现域名解析,使用Notepad++编辑“C:\Windows\System32\drivers\etc\hosts”,追加以下内容:

  1. 192.168.168.100 wordpress.wanghualang.com   

如果WordPress网站搭建在腾讯云、阿里云,则登陆对应域名管理平台,解析域名到主机公网IP地址,记录类型为A记录。

腾讯云:https://console.cloud.tencent.com/domain/mydomain

阿里云:https://dns.console.aliyun.com

第二十四步 安装WordPress网站

傻瓜向导式安装,WordPress就是那么简单、优雅!

Linux搭建WordPress博客Linux搭建WordPress博客Linux搭建WordPress博客Linux搭建WordPress博客Linux搭建WordPress博客Linux搭建WordPress博客Linux搭建WordPress博客Linux搭建WordPress博客
匿名

发表评论

匿名网友 填写信息