LNMP, CentOS7.0+Nginx+Mysql5.7+PHP7环境安装

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。这里和家分享一下,如何在CentOS 7.0上搭建一个这样的环境,其中软件使用yum方式安装。

一. 系统环境

进入CentOS 7.0中,首先更新yum。

yum -y update

二. 安装nginx

创建文件

vim /etc/yum.repos.d/nginx.repo

写入文件内容,这配置是安装最新的稳定版1.8

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

然后安装

yum -y install nginx

检查是否安装成功

systemctl start nginx

访问你的ip,如果出现下面的内容,即安装成功。
QQ20160914-0@2x.jpg

三.安装Mysql5.7

下载mysql的repo源

wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

安装mysql-community-release-el7-7.noarch.rpm包

sudo rpm -Uvh mysql57-community-release-el7-7.noarch.rpm

安装msyql

sudo yum install mysql-server

重启mysql

service mysqld restart

查看临时密码

sudo grep 'temporary password' /var/log/mysqld.log

输出

2016-09-13T14:26:09.939865Z 1 [Note] A temporary password is generated for root@localhost: wsObL:Owa4/X

修改密码
方法一:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码

mysqladmin -uroot -pYourOldPass4! password YourNewPass4!

方法二:使用sql修改
1、先登入mysql,然后使用sql修改

mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPass4!';

注意
在mysql 5.6后,对密码的强度进行了加强,推出了 validate_password 插件。开启支持密码的强度要求,修改密码会进行密码强度验证,简单密码将无法通过。
想了解更多validate_password插件参数的使用,可以看mysql 5.6密码强度插件使用这篇文章。

mysql开启远程访问权限

## 方法一:
# 登录数据库
mysql -uroot -ppassword
mysql > use mysql; 
# '%'为所有ip都可以远程访问
mysql > update user set host = '%' where user = 'root';  
# 或直接添加一条语句也行     
mysql > insert into user (host,user,password) values('192.168.0.51','root',password('123'));  
# 查看一下修改
mysql > select host, user from user;    
# 推送设置到内存或重启服务器也行
mysql > FLUSH PRIVILEGES;

## 方法二:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
# 如果是固定ip就这么写
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.49'identified by '123' with grant option;
# 推送设置到内存或重启服务器也行
mysql > FLUSH PRIVILEGES;

四.安装php7

webtatic方式

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
yum -y install php72w php72w-opcache php72w-fpm php72w-mysql php72w-pdo php72w-mbstring php72w-gd

五.nginx配置

这是yii2配置

server {
    listen 80;
    server_name yii.chadou.com;

    root /home/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

}

完成

其他

1. Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’解决方法

2. PHPMyAdmin提示“Headers and client library minor version mismatch”和“您的 PHP MySQL 库版本 5.6.31 与您的 MySQL 服务器版本 5.7.15 不同。这可能导致无法预料的问题。”

使用yum移除php-mysql扩展,并安装php-mysqlnd扩展,这两个都是php的mysql扩展,但后者具有如下优势:

mysqlnd更容易编译: 因为它是php源码树的一个组成部分
mysqlnd和php内部机制结合更紧密,是优化过的mysql驱动
mysqlnd更节省内存,从测试结果来看,比传统的mysql扩展节省40%的内存
mysqlnd更快
mysqlnd提供了丰富的性能统计功能
mysqlnd使用了PHP license以避免不必要的版权纠纷

参考文章

如需转载,请注明出处: https://chadou.me/p/185

最新发布