网上安装lnmp的教程很多,但是还是安装失败过好多次,所以自己写了一份教程,本人只是菜鸟,仅供新手参考,大神勿喷。
此教程是CentOS下的安装如需Ubuntu请参考Ubuntu lnmp安装
- MYSQL安装
1.1 下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
1.2 安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
1.3 安装MYSQL
sudo yum install -y mysql-server
1.4 更改MYSQL用户权限:
sudo chown -R root:root /var/lib/mysql
1.5 重启服务
systemctl restart mysql.service
1.6 登录,并修改密码:
mysql -u root
mysql > use mysql;
mysql > update user set password = Password('root') where User = 'root';
mysql > flush privileges;
mysql > exit;
注:如果执行修改密码后报错 ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’
错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,所以请使用一下命令:
mysql> update mysql.user set authentication_string=password('123456') where user='root';
2.NGINX 安装
2.1 下载对应当前系统版本的nginx包
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.2 建立nginx的yum仓库(默认yum是没有nginx的)
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.3 下载并安装nginx
yum install nginx -y
2.4 nginx 重启
systemctl restart nginx.service
systemctl restart nginx
service nginx restart
/usr/sbin/nginx -s reload
3.安装PHP
3.1 rpm 安装 Php7 相应的 yum源
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
3.2 安装php
7.0 版本
yum install -y php70w
3.2 查看安装源中php有哪些版本
yum list php*
3.3 安装PHP
7.0 版本
yum install -y php70w-mysql.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64
7.2 版本
yum install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-ldap php72w-mcrypt
3.4 安装PHP FPM
7.0 版本
yum install -y php70w-fpm
7.2 版本
yum install -y php72w-fpm
4.修改配置文件
4.1 修改NGINX配置文件
nginx配置文件位置:(/etc/nginx/conf.d/default.conf)
vim /etc/nginx/conf.d/default.conf
4.2 修改 root目录,可自定义:
root /forest/nginxDir/html;
4.3 修改配置php解析:
location ~.php$ {
root /usr/WWW;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;
}
4.4 修改php-fpm配置文件
php-fpm配置文件位置:(/etc/php-fpm.d/www.conf)
修改
user =nginx
group=nginx
放入测试文件
cd /usr/WWW
vim index.php
<?php
echo "hello word";
?>
5.启动服务
5.1 启动nginx服务:
systemctl start nginx.service
查看启动状态:
systemctl status nginx
看到以下字眼说明启动成功!
Active: active (running) since 六 2016-11-19 13:40:04 CST; 50min ago
5.2 启动PHP-FPM:
systemctl start php-fpm.service
查看启动状态:
systemctl status php-fpm.service
看到以下字眼说明启动成功!
Active: active (running) since 六 2016-11-19 14:14:33 CST; 18min ago
6.测试
在浏览器打开 ip地址/index.php
附录:
phpMyAdmin 搭建
进入 usr/local 文件夹下
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.3/phpMyAdmin-4.8.3-all-languages.zip #下载
unzip phpMyAdmin-4.8.3-all-languages.zip#解压压缩包
mkdir /usr/www/phpmyadmin#创建目录
cp -r phpMyAdmin-4.8.3-all-languages/* /usr/www/phpmyadmin #复制到WWW目录下
复制一份配置文件
cd /usr/www/phpmyadmin
cp config.sample.inc.php config.inc.php
nginx 配置
server {
listen 8090;
server_name localhost;
# Don't want to log accesses.
#access_log /dev/null main;
access_log /var/log/nginx/php.acces_log main;
error_log /var/log/nginx/php.error_log info;
root /usr/www/phpmyadmin;
index index.php index.html index.htm;
error_page 401 403 404 /404.php;
location ~*\.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
set $path_info $fastcgi_path_info;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
访问 ip:8090 如果出现以下错误
只需要进入 /var/lib/php/session/ 把这个路径的权限修改成777 就可以了 刷新页面
chmod -R 777 /var/lib/php/session
输入数据库账号密码 登录完成
参考 https://www.jb51.net/article/137565.htm