码迷,mamicode.com
首页 > 其他好文 > 详细

LNMP环境配置

时间:2018-10-31 23:28:43      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:res   one   sqli   html   php-mysql   进程数量   gcc   rmi   用户   

一 准备软件包
L:LIinux操作系统
N:Nginx服务器
M:Mariadb(mysql)数据库
P:Php(本次以php为讲解),Python,Perl

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安全等.

LNMP环境配置

标签:res   one   sqli   html   php-mysql   进程数量   gcc   rmi   用户   

原文地址:http://blog.51cto.com/14050800/2311406

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!