CentOS 7 Laravel 环境 LNMP (Nginx + PHP 7.3 + MySQL 5.7)安装
安装 Nginx
yum install epel-release -y
yum install nginx -y
设置 nginx 开机自启动
systemctl start nginx
systemctl enable nginx
安装 PHP 7.3
// 下载并安装 PHP 源
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
// 配置启用的 PHP 版本
yum install yum-utils -y
yum-config-manager --enable remi-php73
// 安装 PHP 和常用扩展
yum install -y php-fpm php-common php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml zip unzip
配置 php-fpm 与 nginx
设置 php-fpm 开机自启动
systemctl start php-fpm
systemctl enable php-fpm
安装 composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
创建网站目录和用户
网站的权限,只给 nginx 可读,如果需要 nginx 写入权限,则使用 setacl 添加写权限
配置 PHP 时区、隐藏版本号
expose_php = Off
cgi.fix_pathinfo = 0
date.timezone = PCR
禁止 ip 地址访问
server {
listen 80 default;
return 500;
}
安装 MySQL
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
// 禁用 mysql8 并开启 mysql5.7
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
// 查看启用的 mysql 版本
yum repolist enabled | grep mysql
// 安装 mysql 5.7
yum install -y mysql-community-server
// 启动 mysql
systemctl start mysqld.service
// 查找默认的密码
grep 'temporary password' /var/log/mysqld.log
更改 root 默认的密码
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
flush privileges;
如果在修改密码时遇到错误 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
,说明密码强度不够,把密码设置得更复杂些。如果还是想设置成简单好记的密码,则需要关闭 MySQL 的密码强度验证功能。
在 /etc/my.cnf 中加入如下配置,重启。
[mysqld]
plugin-load=validate_password.so
validate-password=OFF
需要更改远程可以使用 root 链接数据库,则更改 root 用户的 host 为 % ,表示可以从任何地方链接 mysql。
不推荐此操作
update user set host = '%' where user ='root';
添加新用户并授权
grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword';
flush privileges;
配置 ThinkPHP 站点
配置 Laravel 站点
https://www.hostinger.com/tutorials/how-to-install-lemp-centos7#Step-1-Installing-Nginx-on-CentOS-7
https://typecodes.com/linux/yuminstallmysql5710.html
https://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/
https://www.ifshow.com/the-new-centos-7-install-lnmp-linux-nginx-mariadb-php-and-multi-site-configuration/