CentOS 7 安装 LNMP

更新源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

安装NGINX

yum install nginx -y


启动NGINX

systemctl start nginx

设置自动启动

systemctl enable nginx #自动启动

systemctl daemon-reload #保存系统启动配置文件

systemctl is-enabled nginx #查看配置是否生效

安装MYSQL

获取需要的版本 https://dev.mysql.com/,比如我们要安装8.0版本,系统是CentOS7,先安装MySQL安装源

直接访问:https://dev.mysql.com/downloads/repo/yum/,找到需要的MySQL版本的安装源,或者到官网找源下载链接

下载MySQL安装源的安装包,或者复制下载链接,使用yum localinstall安装MySQL安装源:

yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

然后使用yum安装MySQL


yum install mysql-community-server


安装完成,开启mysql

systemctl start mysqld

设置自动启动,安装MySQL默认已经设置过,可以跳过

systemctl enable mysqld #自动启动

systemctl daemon-reload #保存系统启动配置文件

systemctl is-enabled mysqld #查看配置是否生效


查看初始密码

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

登录

mysql -uroot -p

修改密码

alter user 'root'@'localhost' identified with mysql_native_password by 'your password';


mysql默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误

修改root用户可远程登录
update user set host='%' where user = 'root';

刷新权限
flush privileges;

安装PHP7.2

安装PHP的安装源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm #之前安装Nginx时已经安装过了,可以跳过
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

查看安装源里是否已经包含PHP7.2
yum search php72w

安装php以及扩展
yum install php72w php72w-fpm php72w-cli php72w-common php72w-devel php72w-gd php72w-pdo php72w-mysql php72w-mbstring php72w-bcmath

开启服务
systemctl start php-fpm

设置开机自启动
systemctl enable php-fpm #自动启动

systemctl daemon-reload #保存系统启动配置文件

systemctl is-enabled php-fpm #查看配置是否生效

安装redis

yum install redis
修改配置

vi /etc/redis.conf
daemonize yes #后台运行
appendonly yes #数据持久化


AOF(append only file)持久化,以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的。

启动redis
systemctl start redis

设置开机自启动
systemctl enable redis #自动启动

systemctl daemon-reload #保存系统启动配置文件

systemctl is-enabled redis #查看配置是否生效

安装php-redis扩展

先装git
yum install git

克隆phpredis源代码到本地
cd /usr/local/src
git clone https://github.com/phpredis/phpredis.git

安装扩展
cd phpredis

/usr/bin/phpize #此处为phpize的路径,可用whereis phpize 得到路径 或者 find / -name phpize 得到路径

./configure --with-php-config=/usr/bin/php-config #此处为php-config的路径,可用whereis php-config 查看路径 或者 find / -name phpize 得到路径

make && make install #最好会显示 Installing shared extensions:     /usr/lib64/php/modules/,就是安装路径,或者 find / -name redis.so #查看是否编译安装成功已经编译安装后的路径


修改php配置
vi /etc/php.ini 添加

extension=redis.so

重启php
systemctl restart php-fpm

查看PHP是否已经挂载redis模块

php -m|grep redis

如果报错PHP Warning:  PHP Startup: Unable to load dynamic library 'redis.so' ...  undefined symbol: php_json_decode_ex

这是和json扩展加载顺序冲突导致报错

将php.ini里加入extension=redis.so删除

进入/etc/php.d文件夹,创建redis.ini,

redis.ini中加入:

;redis

extension=redis.so

重启php
systemctl restart php-fpm

查看PHP是否已经挂载redis模块

php -m|grep redis

修改Nginx和PHP-FPM的运行用户,统一为www

添加用户和用户组

同时添加:useradd www

或者

用户组:groupadd www
用户:useradd -g www www

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

user = www
group = www

修改/etc/nginx/nginx.conf

user www;

重启Nginx和PHP-FPM服务

原文地址:https://www.cnblogs.com/lbnnbs/p/13693753.html