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,如果出现下面的内容,即安装成功。
三.安装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以避免不必要的版权纠纷
参考文章