LNMP项⽬实战-WordPress站点搭建--nginx+php-fpm
1 A 安装其它软件 wget https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm #包含较新的PHP等软件包 yum install remi-release-7.rpm yum install php72-php-fpm php72-php-mysql nginx -y 2 B 安装数据库并账号授权 yum install mariadb mariadb-server -y systemctl start mariadb systemctl enable mariadb mysql_secure_installation mysql -uroot -p123456 mysql mysql> create database wpdb; mysql> grant all on wpdb.* to wpuser@'192.168.80.%' identified by '123456'; 3 A 设置站点ACL权限,wordpress的文件html和php没有分离,所要这里要复制两份。也可以放在同目录。 tar xvf wordpress-5.0.4-zh_CN.tar.gz -C /data/nginx/ cp -rf /data/nginx/* /data/php/ setfacl -Rm u:nginx:rwx /data/nginx setfacl -Rm u:nginx:rwx /data/php chmod -R 777 /data/nginx #测试用。 chmod -R 777 /data/php #测试用。 4. A 配置php-rpm配置文件(基本不用设置) vim /etc/php-fpm.d/www.conf listen = 127.0.0.1:9000 user = nginx group = nginx pm.status_path = /status ping.path = /ping 5.A 设置连接数据库的相关信息 cp wordpress/wp-config-sample.php wordpress/wp-config.php vim wordpress/wp-config.php // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define('DB_NAME', 'wpdb'); /** MySQL数据库用户名 */ define('DB_USER', 'wpuser'); /** MySQL数据库密码 */ define('DB_PASSWORD', '123456'); /** MySQL主机 */ define('DB_HOST', '192.168.80.120'); 6. A配置nginx, 静动分离 server { listen 80; server_name www.magedu.net; location / { root /data/nginx/wordpress; #与php的root同一个目录。 index index.php index.html;#很重要 } location ~* \.php$ { root /data/php/wordpress; ##如果SCRIPT_FILENAME是绝对路径则可以省略root /data/php; $document_root调用root目录, fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_hide_header X-Powered-By; #隐藏PHP版本 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #$document_root也可以写绝对路径。 include fastcgi_params;} location ~* ^/(status|ping)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; include fastcgi_params;}} 6.在nginx根目录/data/php写一个test.php 用最简单的phpinfo()函数。 <?php phpinfo(); ?>
访问测试
www.magedu.net/test.php
7.客户端测试
www.magedu.net 第一次登录输入相关信息生成数据库。
8.测试
后台
www.magedu.net/wp-admin/
前端日志
www.magedu.net
=================================================================
实验2:nginx 实现 fastcgi 不同主机 (接上一个实验) 三台主机:一台A nginx 一台C php-fpm, 一台B mariadb 1.C 配置php-rpm配置文件(基本不用设置) groupadd -g 982 nginx useradd -r -u 900 -g nginx -s /sbin/nologin nginx UID和GID要与nginx的ID一样。 yum install php-fpm
tar xvf wordpress-5.0.4-zh_CN.tar.gz -C /data/nginx/
chmod -R 777 /data/nginx
vim /etc/php-fpm.d/www.conf user = nginx group = nginx listen = 192.168.80.100:9000 listen.allowed_clients = any 2.C 设置连接数据库的相关信息 tar xvf wordpress-5.0.4-zh_CN.tar.gz -C /data/php/ cp wordpress/wp-config-sample.php wordpress/wp-config.php vim wordpress/wp-config.php // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define('DB_NAME', 'phpdb'); /** MySQL数据库用户名 */ define('DB_USER', 'wpuser'); /** MySQL数据库密码 */ define('DB_PASSWORD', '123456'); /** MySQL主机 */ define('DB_HOST', '192.168.80.120'); 6. A配置nginx, 静动分离 server { listen 80; server_name www.magedu.net; rlocation / { root /data/nginx/wordpress; index index.php index.html;#很重要 } location ~* \.php$ { root /data/php; fastcgi_pass C_IP:9000; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $data/php/wordpress$fastcgi_script_name; include fastcgi_params;}}
7. mysql -uroot -p123456
mysql
mysql> create database phpdb;
mysql> grant all on phpdb.* to wpuser@'192.168.80.%' identified by '123456';