标签:res one sqli html php-mysql 进程数量 gcc rmi 用户
一 准备软件包1,服务器
nginx
2,数据库
mariadb,mariadb-server,mariadb-devel
mariadb(数据库客户端软件)、mariadb-server(数据库服务器软件)、mariadb-devel(其他客户端软件的依赖包)
3,php
php(解释器),php-fpm(进程管理服务),php-mysql(php的数据库扩展包)
二 安装软件
1,nginx
#yum -y install gcc openssl-devel pcre-devel zlib-devel
gcc:c语言解释器
openssl:让nginx支持ssl协议,即可以搭建安全web(https)
pcre-devel:nginx支持正则
zlib-devel:nginx支持压缩
#useradd -s /sbin/nologin nginx #出于安全,为nginx创建用户
#tar -xf nginx-1.12.2.tar.gz -C ./ #减压到当前目录
#cd /nginx-1.12.2
.#/configure --prefix=/usr/local/nginx \
--user=nginx \
--user=nginx \
--with-http_ssl_module
#make && make install
#ln -s /usr/local/nginx /sbin/ #做个软链接,方便启动
2,mariadb
#yum -y install mariadb mariadb-server mariadb-devel
3,php
#yum -y install php php-mysql
#rpm -ivh php-fpm-5.4.16-42.el7.x86_64.rpm #这个软件要自己取下载
二 启动服务检测是否安全成功
1,nginx
#nginx #启动
#nginx -s stop #关闭
#nginx -s reload #重新读取nginx配置文件
#netstat -utnlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 32428/nginx
2,mariadb
#systemctl start mariadb #启动服务
#systemctl status mariadb #查看服务状态
#systemctl enable mariadb #设置服务开机启动
[root@proxy ~]# netstat -tunlp | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3115/mysqld
3,php
systemctl start php-fpm #启动服务
systemctl status php-fpm #查看服务状态
systemctl enable php-fpm #设置服务开机启动
[root@proxy ~]# netstat -tunlp | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 5577/php-fpm: maste
4,注意事项
为了确保本次实验做得容易,建议关闭防火墙和SELinux
#firewall-cmd --set-default-zone=trusted #设置防火墙为trusted
#setenforce 0 #设置SELinux为Permissive
三 配置LNMP平台
1,nginx配置
#vim /usr/local/nginx/conf/nginx.conf #修改如下配置
location / {
root html;
index index.php index.html index.htm;
#设置默认首页为index.php,当用户在浏览器地址栏中只写域名或IP,不说访问什么页面时,服务器会把默认首页index.php返回给用户
}
location ~ .php$ { #~:正则匹配根目录下.php结尾的 .转义
root html;
fastcgi_pass 127.0.0.1:9000; #将请求转发给本机9000端口,PHP解释器
fastcgi_index index.php;
include fastcgi.conf; #注意这一行不要写错,把主配置文件的改成这个,不然不成功,特提示
}
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
#[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
2,mysql配置
提示:mysql配置可以不用做,我只是分享一下mysql一些知识
#mysqladmin -uroot password ‘123456‘ #第一次安装成功修改mysql密码为123456
#mysql -uroot -p123456 #登录mariadb数据库
show databases; #查看有多少数据库
select user,host,password from user where password=‘‘ ; #查看user表中密码为空的字段
delete from user where password=‘‘ #为了安全删除免密码登录的用户
3,php-fpm配置
[root@proxy etc]# vim /etc/php-fpm.d/www.conf #本次搭建不需要修改,只是想分享一下字段的意思
[www]
listen = 127.0.0.1:9000 //PHP端口号
pm.max_children = 32 //最大进程数量
pm.start_servers = 15 //最小进程数量
pm.min_spare_servers = 5 //最少需要几个空闲着的进程
pm.max_spare_servers = 32 //最多允许几个进程处于空闲状态
四 测试
1,编写测试用例
#vim /usr/local/nginx/test.php #测试php是否能正常解释php代码
<?php
print phpinfo(); #输出php版本信息等
?>
#vim /usr/local/nginx/mysql.php #测试是否能连接数据库
<?php
$mysqli = new mysqli(‘localhost‘,‘root‘,‘123456‘,‘mysql‘);
//注意:root为mysql账户名称,密码需要修改为实际mysql密码,无密码则留空即可
if (mysqli_connect_errno()){
die(‘Unable to connect!‘). mysqli_connect_error();
}
$sql = "select * from user";
$result = $mysqli->query($sql);
while($row = $result->fetch_array()){ #输出mysql用户host,name
printf("Host:%s",$row[0]);
printf("</br>");
printf("Name:%s",$row[1]);
printf("</br>");
}
?>
2,浏览器测试
# firefox http://192.168.4.5/test.php #本机的ip ,这个具体情况具体而定,写的是你计算机服务器的地址
# firefox http://192.168.4.5/mysql.php
五 总结
如果你测试都通过了,恭喜你已经搭建成功了,想了解更多的nginx详细配置和功能的可以去看下我相应的其他文章,web安全等.
标签:res one sqli html php-mysql 进程数量 gcc rmi 用户
原文地址:http://blog.51cto.com/14050800/2311406