动态网站 在不同环境下,网站内容有可能发生变化
动态网站的搭建
LNMP环境
L 指linux操作系统
N 指nginx网站
M 指mariadb,mysql 数据库
P 指php等编写动态网站的语言工具
准备nginx以及相关软件包
killall nginx //停止nginx程序
cd /root/lnmp_soft/nginx-1.17.6
rm -rf /usr/local/nginx //删除nginx原有目录
./configure --user=nginx --with-http_ssl_module //配置
make //编译
make install //安装
yum -y install mariadb mariadb-server //安装数据库客户端
与服务端
systemctl start mariadb //开启数据库服务
yum -y install mariadb-devel //安装数据库开发环境依赖包
yum -y install php //安装php,相当于解释器
yum -y install php-fpm //安装可以帮助nginx解析php语言编写的动
态网站的服务
yum -y install php-mysql //安装php与mysql关联的软件包
systemctl start php-fpm //开启php-fpm服务
yum -y install net-tools
netstat -ntulp | grep mysql //检查数据库
netstat -ntulp | grep php-fpm //检查php-fpm服务
用户 – 浏览器或app(都支持html语言) ------------------- 服务器 html的页面直接返回php的页面交给php-fpm
准备动态网站页面的测试文件
cp ~/lnmp_soft/php_scripts/test.php /usr/local/nginx/html //拷贝动态网站测试页面到nginx中
cd /usr/local/nginx
sbin/nginx //启动nginx服务
打开nginx配置文件,第65到71行去掉注释(可以用:65,71s/#//),69行不用去
location ~ \.php$ { //~是使用正则表达式,匹配以.php结尾
root html; //网站页面位置,不用改,保持默认
fastcgi_pass 127.0.0.1:9000; //一旦用户访问了.php结尾的文
件,就让nginx找后台的php-fpm(端口号9000)
fastcgi_index index.php; //动态网站的默认页面,无需修改
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
//无用行,保持注释状态
include fastcgi.conf; //这里是另外一个配置文件,需要改扩展名
}
sbin/nginx //开启nginx,如果已经开启就使
用sbin/nginx -s reload 如果均不能正常开启,就用killall nginx然后重新试
使用火狐访问 可以看到页面内容
测试有数据库的动态网站
cp ~/lnmp_soft/php_scripts/mysql.php /usr/local/nginx/html/ //拷贝另外一个测试页面到nginx
浏览器打开http://192.168.99.5/mysql.php 可以看到网站显示了数据的账户信息
mysql //进入数据库
create user dc@localhost identified by '123'; //创建测试账户
quit; //退出
刷新http://192.168.99.5/mysql.php 可以看到新创建的用户
fastCGI 快速公共(通用)网关接口,可以连接如nginx等网站程序到网站的语言解释器(比如php) ,php-fpm进程使用了fastCGI解析动态网站页面
Pstree | grep php-fpm //查看后台开启了几个进程
vim /etc/php-fpm.d/www.conf //查看php-fpm配置文件
看到以上test.php、mysql.php两个页面说明nginx不但能识别静态网站,也能解析动态网站了,这种情况也可以记作nginx实现了动静分离