一.nginx安装
1.下载对应当前系统版本的nginx包(package)
wget http://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
yum install nginx
4.nginx启动(nginx安装目录下-/usr/sbin/)
systemctl start nginx.service
ps:一些其它nginx相关命令:
nginx相关配置文件:
默认的配置文件在 /etc/nginx 路径下,使用该配置已经可以正确地运行nginx;
如需要自定义,修改其下的 nginx.conf 等文件即可;
在浏览器地址栏中输入部署nginx环境的机器的IP,如果一切正常,应该能看到如下字样的内容。
Welcome to nginx!
If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.
For online documentation and support please refer tonginx.org.Commercial support is available atnginx.com.
Thank you for using nginx.
第二步:MYSQL安装
1.先下载mysql的repo源;相关命令:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.安装mysql-community-release-el7-5.noarch.rpm包
(安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)
rpm -ivh mysql-community-release-el7-5.noarch.rpm
3.安装MYSQL
sudo yum install mysql-server
4.重置密码
更改用户权限:
sudo chown -R root:root /var/lib/mysql
(很多时候mysql无法用启动,是因为mysql的拥有者是root,而mysql是用mysql用户身份执行当然写不进去了,是系统权限的问题
尝试使用chown -R mysql:mysql /var/lib/mysql/ )
重启服务:
systemctl restart mysql.service
登录,并修改密码:
mysql -u root
mysql > use mysql;
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 -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
其他 高版本
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.安装php7.0
yum install php70w
4.安装php扩展
php70w-mysql.x8664 mysql扩展(作为依赖同时安装 php70w-pdo.x8664)(若无此扩展 使用 yum list | grep mysql 查询可用扩展的版本)
php70w-gd.x86_64 GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。
php70w-ldap.x86_64 "轻量级目录访问协议",是一个用于访问"目录服务器"(Directory Servers)的协议;
php70w-mbstring.x86_64 mbstring扩展库用于处理多字节字符串,PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是1~3倍的差异了。采用mb_strlen函数可以较好地解决这个问题。
php70w-mcrypt.x86_64 Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
5.安装PHP FPM
yum install php70w-fpm
关于 php-fpm
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
现在我们可以在最新的PHP 5.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)
修改web root目录(如果没有需求也可以不用修改,使用默认即可):
root /wwwdata/html;
配置php解析
location ~.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
2.php-fpm配置文件位置:(/etc/php-fpm.d/www.conf)
修改
user =nginx
group=nginx
3.启动nginx服务:
systemctl start nginx.service
如需设置开机自启使用以下命令:
sudo systemctl enable nginx.service
查看启动状态:
systemctl status nginx
看到以下字眼说明启动成功!
Active: active (running) since 六 2016-11-19 13:40:04 CST; 50min ago
4.启动PHP-FPM:
systemctl start php-fpm.service
如需设置开机自启试用以下命令:
sudo systemctl enable php-fpm.service
查看启动状态:
systemctl status php-fpm.service
看到以下字眼说明启动成功!
Active: active (running) since 六 2016-11-19 14:14:33 CST; 18min ago
至此,php+mysql+nginx 环境搭建完成!
配置防火墙 端口
1:先安装iptables-services服务 通过servvice方式操作防火墙
yum install iptables-services
此命令会在 /etc/sysconfig/下生成一个iptables文件
2:在文件上添加对应的端口既可
关于Selinux
更换root目录的时候出现个问题 Nginx配置没问题但更换过后就是访问不了,error.log报权限错误, 给了777权限还是不行
需要把Selinux 关掉 , /usr/sbin/sestatus 查看它的运行状态 , vim /etc/selinux/config 去配置文件删掉
安装redis扩展
1、下载PHPRedis git clone https://github.com/nicolasff/phpredis
2、/usr/local/php7/bin/phpize #找不到phpize的路径可用whereis命令查看:whereis phpize 得到路径
3、./configure --with-php-config=/usr/local/php/bin/php-config #此处为php-config的路径,可用whereis php-config查看路径
4、make && make install