centos7配置LEMP环境(PHP、nginx、MySQL)

centos7配置LEMP环境(PHP、nginx、MySQL)

前言

系统环境(centos7)

$ cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

一、安装PHP7

1.删除旧版本
yum remove php*
2.添加 yum 源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
3.yum安装PHP7
yum install php70w* --skip-broken //安装全部插件 跳过冲突

4. 测试php版本
$ php -v

PHP 7.0.33 (cli) (built: Dec  6 2018 22:30:44) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33, Copyright (c) 1999-2017, by Zend Technologies
    with Xdebug v2.6.1, Copyright (c) 2002-2018, by Derick Rethans
5.启动php-fpm
systemctl start php-fpm

二、安装nginx

1.添加 yum 源
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.yum安装nginx
yum install nginx
3.配置 Nginx 服务
#  设置开机启动
systemctl enable nginx

#  启动/停止服务
systemctl start/stop nginx

#  重启服务
systemctl restart nginx

#  重新加载(一般重新配置之后,不希望重启服务,这时可以使用重新加载)
systemctl reload nginx
调整配置
$ ps aux|grep php

root     18091  0.1  0.5 739076 42988 ?        Ss   09:45   0:00 php-fpm: master process (/etc/php-fpm.conf)
apache   18102  0.0  0.1 739076 11768 ?        S    09:45   0:00 php-fpm: pool www
apache   18103  0.0  0.1 739076 11768 ?        S    09:45   0:00 php-fpm: pool www
apache   18104  0.0  0.1 739076 11768 ?        S    09:45   0:00 php-fpm: pool www
apache   18105  0.0  0.1 739076 11768 ?        S    09:45   0:00 php-fpm: pool www
apache   18106  0.0  0.1 739076 11772 ?        S    09:45   0:00 php-fpm: pool www
root     20305  0.0  0.0 112712   988 pts/2    S+   09:46   0:00 grep --color=auto php


$ ps aux|grep nginx

root     27869  0.0  0.0  46440   968 ?        Ss   09:50   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx    27870  0.0  0.0  46848  1924 ?        S    09:50   0:00 nginx: worker process
nginx    28098  0.0  0.1 739076 11772 ?        S    09:50   0:00 php-fpm: pool www
nginx    28099  0.0  0.1 739076 11772 ?        S    09:50   0:00 php-fpm: pool www
nginx    28100  0.0  0.1 739076 11772 ?        S    09:50   0:00 php-fpm: pool www
nginx    28101  0.0  0.1 739076 11772 ?        S    09:50   0:00 php-fpm: pool www
nginx    28102  0.0  0.1 739076 11776 ?        S    09:50   0:00 php-fpm: pool www
root     29531  0.0  0.0 112712   988 pts/2    S+   09:51   0:00 grep --color=auto nginx

可以看到php现在运行的是apache用户,而nginx运行的是nginx用户,两者不一致。

要保持两者一致性,才可以进行反向代理。同时,避免后续的一系列奇葩问题。

修改php-fpm
vim /etc/php-fpm.d/www.conf

如下将user和group由apache改为nginx。

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

重启php-fpm
systemctl restart php-fpm
测试页面

备份nginx配置文件

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak

打开nginx配置文件

vim /etc/nginx/conf.d/default.conf

注释掉php配置

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    include        fastcgi_params;
}

创建测试页面

vim /usr/share/nginx/html/info.php

输入以下字段:


<?php
phpinfo();
?>

浏览器打开ip地址,显示php版本和配置信息。

三、安装MySQL

1)指定版本(5.7)

下载mysql的repo源并安装mysql服务

#  进入下载目录
cd /usr/local/src/
#  下载mysql rpm
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 
#  安装mysql rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
# 安装mysql服务
yum -y install mysql-server

默认配置文件路径

#  配置文件:/etc/my.cnf 
#  日志文件:/var/log/var/log/mysqld.log 
#  服务启动脚本:/usr/lib/systemd/system/mysqld.service 
#  socket文件:/var/run/mysqld/mysqld.pid

启动mysql服务

service mysqld restart

重置密码

grep "password" /var/log/mysqld.log

可以在输出位置看到系统设置的随机密码:root@localhost:随机密码

接下来进入mysql,并修改密码。(第一次登陆 ,需要重置密码 要不什么也不能操作)

#  进入mysql
mysql -u root -p 上面的随机密码
#  修改密码
alter user 'root'@'localhost' identified by '新密码';  
#  刷新权限
flush privileges;

最后,退出MySQL,重新进入,需要输入你的新密码了。

2)不指定版本

#  安装MySQL服务
yum install mysql-server
#  重新启动MySQL
/etc/init.d/mysqld restart
#  配置MySQL
/usr/bin/mysql_secure_installation

提示将要求您输入当前的root密码。

因为你刚刚安装MySQL,你很可能不会有一个,所以留空,按enter键。

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

然后提示将询问您是否要设置root密码。 继续,选择Y,然后按照说明进行操作。

CentOS自动化设置MySQL的过程,问你一系列是或否的问题。

这是最简单只是说是的所有选项。 最后,MySQL将重新加载和实现更改。

四、设置自动启动

将所有新安装的程序设置为在VPS引导时自动启动

chkconfig mysqld on
chkconfig nginx on
chkconfig php-fpm on

五、补充扩展

centos下的chkconfig基本命令

1. 开机启动列表查看: chkconfig --list  
2. 添加服务:  chkconfig --add servicename
3. 删除服务:  chkconfig --del servicename 
4. 查看具体启动服务信息: chkconfig --list  servicename
5. 开启自动启动服务  : chkconfig httpd on
6. 开启自动不启动服务: chkconfig httpd off
7. Level选项: chkconfig --level 35 sshd on 将Level3和Level5设置成on
例如:chkconfig --list sshd  

输出:httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

说明: 0-6 分别表示的意义  

  等级0表示:表示关机   

  等级1表示:单用户模式   

  等级2表示:无网络连接的多用户命令行模式  

  等级3表示:有网络连接的多用户命令行模式   

  等级4表示:不可用   

  等级5表示:带图形界面的多用户模式  

  等级6表示:重新启动

六、参考

https://www.jianshu.com/p/8d54a401ec06

https://qizhanming.com/blog/2018/08/06/how-to-install-nginx-on-centos-7

https://www.howtoing.com/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-6

https://blog.csdn.net/localhostcom/article/details/73824874

https://blog.csdn.net/z13615480737/article/details/78906598

如果需要源码编译安装,参考:https://www.cnblogs.com/kingzjm/p/10373727.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值