nginx测试环境搭建

1.测试环境搭建

1.1 基础nginx配置

#1.创建web目录
mkdir -p /var/www/aaa/
#2.配置nginx配置文件 
/usr/local/nginx/conf/nginx.conf
#3.文件内容添加server模块
     server {
        listen       80;
        server_name  www.aaa.com;
        root "/var/www/aaa/nginxhost/web";
        index index.html index.php;
        location / {
        try_files $uri $uri/ /index.php;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
    }
#4.启动nginx
[root@blackstone aaa]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@blackstone aaa]# /usr/local/nginx/sbin/nginx

记得修改本机的host文件:C:\Windows\System32\drivers\etc

192.168.2.169 www.aaa.com

1.2 代码部署+数据库配置

#1.将代码部署到指定位置(源码在评论区给出)
mv  /home/batman/nginxhost .
#2.测试页面
#3.给tmp文件赋权
[root@blackstone web]# chmod 777 /var/www/aaa/nginxhost/protected/tmp

再次测试:

#4. 数据库对接 在对应目录下输入mysql -uroot -p密码 即可
[root@blackstone nginxhost]# cd /var/www/aaa/nginxhost
mysql> create database security;
Query OK, 1 row affected (0.00 sec)
mysql> use security;
Database changed
mysql> source initialize.sql

在开始之前我们浅浅分析一下数据库的大致结构,并插入flag

#flags就是我们需要获取的数据,两个字段构成
mysql> show columns from flags;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| flag  | varchar(256)     | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
#这里是一个用户注册的数据表,四个字段,id、username、passsword、email
mysql> show columns from users;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(256)     | NO   | UNI | NULL    |                |
| password | varchar(32)      | NO   |     | NULL    |                |
| email    | varchar(256)     | YES  |     | NULL    |                |
+----------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
#我们插入flag
mysql> insert into flags (flag) values ('mygod,you are a hacker!');
Query OK, 1 row affected (0.01 sec)
mysql> select * from flags;
+----+-------------------------+
| id | flag                    |
+----+-------------------------+
|  2 | mygod,you are a hacker! |
+----+-------------------------+
1 row in set (0.00 sec)

测试登陆页面的功能:

运气好的话会有一个报错:Fatal error: Class 'MySQLi' not found in /var/www/aaa/nginxhost/protected/lib/core.php on line 280

这是因为当前的php内部没有mysqli这个模块需要扩展安装,首先我们需要确定php的安装版本,下载对应的源码包进行重新安装:

php官网:https://www.php.net/releases/ 详情见下方php安装。

到此环境初步部署完毕。

2.php安装

安装源码编译php5.4.16的步骤

#1.下载依赖
yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
#2.解压安装包 解压不了需要安装bzip扩展 yum -y install bzip2
tar jxvf php-5.4.16.tar.bz2
#3.进入目录,进行预编译 --- 这里会直接编译进去必须的模块,如果想通过外置模块进行添加可以自行解决
cd php-5.4.16
 
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
#4.安装
make && make install
#5.测试版本以及模块
[root@blackstone batman]# php -v
PHP 5.4.16 (cli) (built: Apr  1 2020 04:07:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
[root@blackstone batman]# php -m | grep mysqli
mysqli

注意这里如果先前进行了nginx的解析,一定要把php-fpm重新启动一下刷新我们的配置:

systemctl restart php-fpm

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值