centos+apache+mysql+php安装配置方法及php项目部署

最近公司要在阿里云上部署一个thinkphp的项目,对于我这个前端的开发者来说,简直就是痛苦,对于php项目搭建毫无头绪,只能硬着头皮做起来,网上搜索的搭建流程不是这点就是那点的,转载,copy的,让我实在无语,既然搭建好,就把过程写下来,供大家参考(主要是lamp:centos+apache+mysql+php安装配置方法,对于的nginx大家可以自己尝试一下)。

1.安装apache

首先安装apachecentos可以直接yum安装apache 。
命令:yum install httpd //根据提示,输入Y安装即可成功安装

这里写图片描述

安装完成Apache后,我们可以使用http://你的服务器ip/测试访问Apache,如果能显示如下图,则说明Apache已经安装成功。
这里写图片描述
注:如果我们测试无法打开这个页面,那么首先要考虑几个情况:
1、是不是开启了iptables防火墙,如果是的话,可以用systemctl stop iptables关闭后再试
2、是不是开启了firewalld防火墙,如果是的话,可以用systemctl stop firewalld关闭后再试
3、是不是开启了SELinux功能,如果是的话,可以用setenforce 0临时关闭SELinux后再试
4、重启Apache 服务

systemctl restart httpd

2.修改Apache默认网站路径

Apache安装好后,默认的网站路径是/var/www/html,也就是说以后我们想部署网站的话,必须把文件放到这个目录下,例如我们下面测试一下。

echo "Hello,PHP~" > /var/www/html/index.html

上面这个命令是在/var/www/html下面创建一个index.html文件,内容是Hello,PHP~,此时我们刷新浏览器,访问我们的Apache网站应该可以看到页面。

Apache安装好后配置文件在/etc/httpd/conf/httpd.conf编辑它

vim /etc/httpd/conf/httpd.conf

打开文件后,我们输入/docu,然后按下回车,这样就可以快速搜索到我们要找到内容。如下图,可以看到有两个/var/www/html的地方,我们要修改的就是这两个地方,把/var/www/html修改成我们想要的路径,比如/www,那么修改后就是这样的。
这里写图片描述
重启Apache服务了

systemctl restart httpd

2.安装mysql

1.配置YUM源

下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查mysql源是否安装成功

shell> yum repolist enabled | grep "mysql.*-community.*"

这里写图片描述

2.安装MySQL
shell> yum install mysql-community-server
3.启动MySQL服务
shell> systemctl start mysqld

查看MySQL的启动状态
这里写图片描述

4.开机启动
shell> systemctl enable mysqld
shell> systemctl daemon-reload
5.修改root默认密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

shell> grep ‘temporary password’ /var/log/mysqld.log

![这里写图片描述](https://img-blog.csdn.net/20170327214927641?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzM4MDU3NDYy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

shell> mysql -uroot -p
mysql> set password for 'root'@'localhost'=password('MyNewPass4!'); 

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。

修改密码策略: 在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件 “`validate_password_policy=0“` 如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可: “`validate_password = off“` 重新启动mysql服务使配置生效:

systemctl restart mysqld
6.添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,添加一个新的帐户,在这我修改配置:
登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”

mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
7.配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重新启动mysql服务,查看数据库默认编码如下所示:
这里写图片描述
默认配置文件路径:配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service socket
文件:/var/run/mysqld/mysqld.pid

3.安装PHP,和PHP组件

命令:

yum install php
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt

到此我们的apache、mysql、php都安装完了。在此重启一次apache和mysql

service httpd  restart    
service mysqld restart    

4.测试PHP环境

下面我们来测试一下php环境,刚刚我们已经安装了php了,那么正常情况下我们可以不用修改php的配置。下面我们试试创建一个php页面。

echo "<?php phpinfo(); ?>" > /home/www/index.php

在浏览器中访问http://你的ip/index.php后可以看到php安装信息说明php安装成功。

这里写图片描述

注:
1.对应的安装顺序是apache >mysql >php(对应的顺序不要乱,否则后面安装需要对应的依赖包,很麻烦,很容易因为版本的原因出现对应的错误mysqli未安装,GD库未安装等,我就是在处理依赖的时候遇到很多问题,后面发现只要按照顺序安装就没有那么麻烦)

2.Mysqli如果在php的显示信息上没有或php -m|grep mysql没有mysqli
那只有进行单独安装 具体的参考:http://www.cnblogs.com/iLoveMyD/p/3437243.html

3.默认CentOS服务器装好后运行的网站并不支持GD库,网上有很多教程非常复杂的讲述了一些安装GD库的方法。其实没有那么复杂。由于CentOS 将支持GD库的PHP作为另外一个版本的PHP来发布.我们如果需要网站支持GD库,只需要直接安装带GD库的php版本即可. 下面是最简便的安装GD库的方法:具体操作只有2个命令如下: 运行在线安装带GD库的PHP的命令: yum -y install php-gd 系统会自己从网站下载GD库,然后就会自动执行安装重新启动apachce服务以使安装后的GD库生效 service httpd restart

4.网站主页www.xxx.com能打开,但一涉及到跳转,带参数,比如 www.xxx.com/xxx/xxx.html 就会报错
a.centos的配置文件放在:/etc/httpd/conf/httpd.confAllowOverride None 将None改为 All //在APACHE里面去配置 (注意其他地方的AllowOverride也统统设置为ALL)
b..htaccess文件必须放到跟目录下
代码如下:
<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>

这里写图片描述
在windows下不能建立以点开头的文件,你可以先随便建立一个文件
然后在DOS在操作 rename xxxx.xxxx .htaccess

©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页