centos 7.2下搭建LNMP环境教程
本机环境:服务器是阿里云ECS;使用的镜像是:公共镜像CENTOS7.2
一.nginx安装
1.下载对应当前系统版本的nginx包(package)
wgethttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.建立nginx的yum仓库(默认yum是没有nginx的)
rpm-ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
3.下载并安装nginx
yuminstallnginx
4.nginx启动(nginx安装目录下-/usr/sbin/)
systemctlstartnginx.service
ps:一些其它nginx相关命令:
nginx相关配置文件:
默认的配置文件在/etc/nginx路径下,使用该配置已经可以正确地运行nginx;
如需要自定义,修改其下的 nginx.conf等文件即可;
在浏览器地址栏中输入部署nginx环境的机器的IP,如果一切正常,应该能看到如下字样的内容。
Welcometonginx!
Ifyouseethispage,thenginxwebserverissuccessfullyinstalledandworking.Furtherconfigurationisrequired.
Foronlinedocumentationandsupportpleaserefertonginx.org.Commercialsupportisavailableatnginx.com.
Thankyouforusingnginx.
第二步:MYSQL安装
1.先下载mysql的repo源;相关命令:
wgethttp://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.安装mysql-community-release-el7-5.noarch.rpm包
(安装这个包后,会获得两个mysql的yumrepo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)
rpm-ivhmysql-community-release-el7-5.noarch.rpm
3.安装MYSQL
sudoyuminstallmysql-server
4.重置密码
更改用户权限:
sudochown-Rroot:root/var/lib/mysql
重启服务:
systemctlrestartmysql.service
登录,并修改密码:
mysql-uroot mysql>usemysql; mysql>updateusersetpassword=password(‘123456‘)whereuser=‘root‘; mysql>exit;
第三步:安装php
1.查看当前安装的php版本(yum list installed | grep php)
如果存在php安装包先删除之前版本 用yum remove移除php相关的包
2.rpm安装Php7相应的yum源
rpm-Uvhhttps://mirror.webtatic.com/yum/el7/epel-release.rpm rpm-Uvhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm
3.安装php7.0
yuminstallphp70w
4.安装php扩展
php70w-mysql.x8664 mysql扩展(作为依赖同时安装php70w-pdo.x8664)
php70w-gd.x86_64 GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。
php70w-ldap.x86_64"轻量级目录访问协议",是一个用于访问"目录服务器"(DirectoryServers)的协议;
php70w-mbstring.x86_64mbstring扩展库用于处理多字节字符串,PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是1~3倍的差异了。采用mb_strlen函数可以较好地解决这个问题。
php70w-mcrypt.x86_64Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
5.安装PHPFPM
yuminstallphp70w-fpm
关于php-fpm
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
现在我们可以在最新的PHP5.3.2的源码树里下载得到直接整合了PHP-FPM的分支,据说下个版本会融合进PHP的主分支去。相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。
PHP5.3.3已经集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带–enable-fpm参数即可开启PHP-FPM。
使用PHP-FPM来控制PHP-CGI的FastCGI进程
第四步:配置nginx
修改配置文件之前记得备份
1.nginx配置文件位置:(/etc/nginx/conf.d/default.conf)
修改webroot目录(如果没有需求也可以不用修改,使用默认即可):
root/wwwdata/html;
配置php解析,修改下面代码中黑色加粗部分:
location~.php${ fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; }
2.php-fpm配置文件位置:(/etc/php-fpm.d/www.conf)
修改
user=nginx
group=nginx
3.启动nginx服务:
systemctlstartnginx.service
如需设置开机自启使用以下命令:
sudosystemctlenablenginx.service
查看启动状态:
systemctlstatusnginx
看到以下字眼说明启动成功!
Active:active(running)since六2016-11-1913:40:04CST;50minago
4.启动PHP-FPM:
systemctlstartphp-fpm.service
如需设置开机自启试用以下命令:
sudosystemctlenablephp-fpm.service
查看启动状态:
systemctlstatusphp-fpm.service
看到以下字眼说明启动成功!
Active:active(running)since六2016-11-1914:14:33CST;18minago
至此,php+mysql+nginx环境搭建完成!
最后,在web根目录下下一个php文件测试下;呼呼~~
为了更方便的访问修改数据库,需要安装mysql管理工具phpMyAdmin
跳转web根目录:(根据之前设置跳转自己的网站根目录)
cd/wwwdata/html/
下载pma安装包:
wgethttps://files.phpmyadmin.net/phpMyAdmin/4.4.12/phpMyAdmin-4.4.12-all-languages.zip
解压安装包:
unzipphpMyAdmin-4.4.12-all-languages.zip
这里如果缺少unzip需要先安装unzip;
yuminstallunzipzip
重命名安装文件夹
mvphpMyAdmin-4.4.12-all-languagesphpmyadmin
修改session存放目录权限:
chown-Rnginx.nginx/var/lib/php/session
如果需要修改session根目录位置需要修改位置:
/etc/php.ini中修改session.save_path
由于/etc/php-fpm.d/www.conf中的session.save_path 比php.ini优先级更高所以如果存在 /etc/php-fpm.d/www.conf中的session.save_path只需修改这个即可
访问http://youipaddress/phpmyadin,如果能访问上,那么就成功了!
以为这样就可以了但是登录又出现问题!登陆不上!
做了一下修改:
1.修改/var/lib/php/session文件夹权限770以上
2.在phpmyadmin目录下config.sample.inc.php中修改 $cfg'Servers'['user']='root';$cfg'Servers'['password']='123456';为自己设置的用户名密码;