yum搭建lnmp环境Linux Centos 7.2+Nginx+PHP7+MySQL5.7
2016-04-17
5 min read
基础环境配置
检查是否有添加了 FedoraProject 的 epel 源,如果系统默认没有加入这个源
//检查
yum repolist
//安装
yum install epel-release
更换CentOS源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache //清除yum缓存
yum update //更新
安装Nginx
vim /etc/yum.repos.d/nginx.repo
添加一下内容,官网说明
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
安装
yum update
yum install nginx
nginx -v //查看版本
systemctl start nginx
systemctl enable nginx//开机自启动
配置
vim /etc/nginx/conf.d/default.conf
location / {
root /data/www/public;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
root /data/www/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
//注意将fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;里的/scripts改为路径地址,如
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
安装PHP7
更新php7源
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
将[remi]段中的enabled=0改为enabled=1
vim /etc/yum.repos.d/remi.repo
将[remi-php70]段中的enabled=0改为enabled=1
vim /etc/yum.repos.d/remi-php70.repo
查看PHP版本
yum list php
yum安装
yum install php php-fpm php-cli php-pdo php-mysql php-gd php-bcmath php-xml php-mbstring php-mcrypt php-devel
php的php.ini配制一般在/etc/php.ini
vim /etc/php.ini
date.timezone = Asia/Shanghai
upload_max_filesize = 20M
post_max_size = 20M
display_errors = Off // 生产环境半掉就好了
# 使HTTP Header中不显示PHP信息把
expose_php = On
修改为
expose_php = Off
vim /etc/php-fpm.d/www.conf
修改为
user = nginx
group = nginx
启动
service php-fpm restart
chkconfig php-fpm on //开机自启
安装MySQL5.7
可以在https://dev.mysql.com/downloads/repo/yum/ 查看MySQL Yum Repository路径
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
打开 mysql-community.repo 看关于mysql的内空,确定mysql57的enable为1
vim /etc/yum.repos.d/mysql-community.repo
yum makecache
yum update
yum install mysql-community-server
启动
service mysqld start
chkconfig mysqld on //开机自启
启动后,查看安装后自动生成的密码
grep "password" /var/log/mysqld.log
grep 'temporary password' /var/log/mysqld.log //或者查看临时密码
修改密码并初始化
mysql_secure_installation
允许远程访问
mysql -uroot -p
use mysql
update user set Host='%' where User ='root' limit 1;
flush privileges;
set global validate_password_policy=0; //设置安全权限级别,否则普通密码难修改
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; //修改密码
安装扩展
yum install -y lrzsz composer git libuuid-devel gcc gcc-c++ cmake
更换composer为中国镜像,不能用root帐号,创建linshi帐号
useradd linshi
su linshi //切换
composer config -g repo.packagist composer https://packagist.phpcomposer.com
userdel linshi //删除帐号
安装uuid
yum install libuuid-devel
wget http://pecl.php.net/get/uuid-1.0.4.tgz
tar -zxvf uuid-1.0.4.tgz
cd uuid-1.0.4
phpize
//如果出现Can't find PHP headers in /usr/include/php The php-devel package is required,则
yum install php-devel
./configure
make && make install
将上边的添加到php.ini的Dynamic Extensions
vim /etc/php.ini
extension=uuid.so
安装redis
yum install redis
redis-server &
service redis start
chkconfig redis on
mkdir wwwroot
//文件夹权限
chmod 777 -R storage
chmod 777 -R vendor
路径
- 站点配置文件 /etc/nginx/conf.d/*.conf
- php配置文件 /etc/php.ini
- MySQL配置文件 /etc/my.cnf
参考资料
CentOS7 下使用 YUM 手工搭建 LNMP 环境记录
entOS6.5 下升级 PHP7、MySQL5.7
https://www.ssllabs.com/ssltest/analyze.html?d=www.wugenglong.com