LNMP环境配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LNMP环境配置相关的知识,希望对你有一定的参考价值。

一 准备软件包
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      #设置服务开机启动
[[email protected] ~]# 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       #设置服务开机启动
[[email protected] ~]# 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; #注意这一行不要写错,把主配置文件的改成这个,不然不成功,特提示
}
[[email protected] ~]# /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配置
[[email protected] 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环境配置的主要内容,如果未能解决你的问题,请参考以下文章

怎样在centos上手动安装配置lnmp环境

lnmp环境下 nginx.conf的常见配置

LNMP环境的搭建与配置(二)

LNMP笔记:阿里云32位 CentOS 5.4 配置 LNMP环境

Lnmp 配置多 PHP 开发环境

LNMP环境相关配置Nginx