LNMP架构
- 操作系统:Linux
- web服务软件:Nginx
- 安装方式(Kali):`apt install nginx`(Kali自带)
- 目录信息:
/etc/nginx/ ##配置文件夹
/usr/share/nginx/ ##默认显示页面路径
/usr/lib/nginx/ ##模块依赖路径
/usr/sbin/nginx ##可执行文件
- 服务启动方式(Kali):`service nginx start`
- 验证方式:浏览器打开该链接:http://127.0.0.1/
- 数据库系统:MySQL
- 服务启动方式(Kali):`service mysql start`
- 基本命令:
- 数据库系统:MySQL
mysql -u [user] ##以[user]用户身份进行登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION; #将root用户的密码改为123456
flush privileges; #更新权限表(目的是在不重启mysql的情况下使之前所做的更改直接生效)
show databases; 展示所有数据库
- 编程语言:PHP
- php-fpm
- Kali默认只安装了php的命令行版本,需要自行对常用组件进行安装`apt install php-fpm`
- 使用`service php7.2-fpm start`进行启动
- 配置信息`/etc/php/7.2/fpm/pool.d/www.conf`
- php-fpm
user = www-data
group = www-data //这两个配置的目的是限定web服务的用户跟用户组,防止权限过高所带来的潜在风险
listen = /run/php/php7.2-fpm.sock //表示php-fpm当前正以unix domain socket的方式在监听,其他应用可以通过该文件与php-fpm进行通讯
access.log = log/$spool.access.log //访问日志,默认关闭,修改后需重启php-fpm
什么?你说你不知道这是啥?其实我也不知道(偷笑)反正记住没这玩意儿今天搭建wp的任务完不成就是了hhhhhh
nginx与php建立连接
主要是参照php官方文档对nginx的配置文件进行配置。以下是摘出来的重要步骤:
提示:在执行下列操作出问题时请先查看下方“可能遇到的坑”一章!!!或者干脆你先看一遍大概对哪儿有坑有个印象~~
- location模块处添加php支持
location / {
root html;
index index.php index.html index.htm;
}
2.根据配置文件中的注释添加对php-fpm的支持。
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
此处fastcgi_pass需对应改为php-fpm配置文件中的unix:/run/php/php7.2-fpm.sock
即改为:
【注意版本一定要对!你装的什么版本的php-fpm就写哪个!!!!】
【注意版本一定要对!你装的什么版本的php-fpm就写哪个!!!!】
【注意版本一定要对!你装的什么版本的php-fpm就写哪个!!!!】
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
3.使用`nginx -t`检测配置文件是否被正确更改。
4.输入`service nginx restart`命令, 重启服务使配置生效。
5.在站点目录(默认`/var/www/html`)写入一个PHP文件,并在浏览器进行访问测试。若可正常访问即表示可以正常通讯。
可能遇到的坑
1.Kali下nginx的配置文件为/etc/nginx/sites-available/default。
2.由于版本不同等问题,你在使用apt安装php-fpm时可能出现版本与教程中不同的问题,此时修改版本号即可。(如视频中是php7.2-fpm,但是我装的时候只有php7.3-fpm,直接安装就好)
3.在使用`nginx -t`对配置项的正确性进行检查时,要确保php-fpm已经正常运行,否则会提示错误。
WordPress搭建
1.下载wordpress源码包并解压至网站根目录
2.修改wordpress目录权限为`www-data`(否则会提示权限错误)`chown -R www-data:www-data wordpress`
3.在mysql中创建wordpress数据库`create database wordpress;`
4.浏览器访问对应的安装页面,然后根据网站提示进行安装即可。
网站的运行机制
- 静态&动态
- 静态网页:纯html网页,后缀为`.htm`、`.html`等,多为展示性质的网页。
- 动态网页:多涉及数据库等相关操作,可以在不对源码进行修改的情况下展示不同的内容并实现不同的功能。常见的动态网页技术有php、asp、aspx、jsp等
- web服务组件
- 功能:监听并响应请求
ps:本文开头所涉及的安装命令均基于Debian/Ubuntu,关于红帽系的安装方式请自行查看官方文档。