Apahce,PHP,Mysql都可以使用自行下载安装包或者包管理器中下载两种方式安装 ,使用yum下载相对简单,而自行下载安装包的方式能够自定义安装某些组件,并且已有安装包的情况下可以离线安装,根据自身情况选择适合的方式,这里推荐使用yum,相对来说较为简单快捷。
1.安装Apache
yum install -y httpd
修改配置文件 /etc/httpd/conf/httpd.conf:
- 添加对index.php首页的支持
index.php - 添加对PHP脚本的支持
AddType application/x-httpd-php-source .phps AddType application/x-httpd-php .php - 添加动态库文件引用
LoadModule php5_module modules/libphp5.so
Apache相关操作:
http -v 或者 rpm -qa | grep httpd 查看版本 验证是否安装成功 ps -ef | grep httpd 查看httpd所有进程 service httpd status 查看运行状态 验证是否有异常 service httpd stop 或者 systemctl stop httpd.service 服务停止 service httpd start 或者 systemctl start httpd.service 服务启动 service httpd restart 或者 systemctl restart httpd.service 服务重启
2.安装PHP及PHP-FPM
yum -y install php
yum -y install php-fpm
PHP相关操作:
php -v 或者 rpm -qa | grep php 查看版本 验证是否安装成功 ps -ef | grep php 查看php所有进程 php -m 查看php开启的相关模块 php -i 等同于php代码中的phpinfo() 查看php详细信息 service php-fpm status/stop/start/restart 或者 systemctl stop/start/restart httpd.service 查看php-fpm状态/停止/开启/重启
3.安装Mysql
官网下载Mysql安装包 https://dev.mysql.com/downloads/mysql/5.6.html#downloads 也可以使用weget命令下载(先跳转到目标文件夹 一般是/tmp下 当系统重新启动时 tmp目录下的文件都将被删除) wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
下载完成之后,解压安装包 cd /tmp tar -xzvf /tmp/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 移动到 /usr/local目录下并修改文件名为mysql mv /data/software/mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql 到mysql文件夹下操作 cd /usr/local/mysql 添加用户组 groupadd mysql 添加用户mysql 到用户组mysql useradd -g mysql mysql 创建数据仓库文件夹 可以自己指定目录,我的路径是 /usr/local/mysql/data mkdir data 配置参数 与上文的目录路径有关 这里的末尾会显示初始密码 记住它!!! ./bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize 权限设置 变更所属用户 chown -R mysql . chown -R mysql data 权限设置 变更所属组 chgrp -R mysql . 复制配置文件到etc目录下 cd /usr/local/mysql/support-files cp my-default.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysql 再增加下权限 chmod 755 /etc/init.d/mysqld 到此配置文件修改如下两行 与上文的目录路径有关 vim /etc/init.d/mysql basedir=/usr/local/mysql datadir=/data
yum -y install mysql
yum -y install mysql-server
yum -y install php-mysql
启动mysql /etc/init.d/mysql start 登录 输入上文已记住的密码,如果忘记就要重置密码了 mysql -hlocalhost -uroot -p 登录成功之后 修改密码 到这里已经是sql命令,所有指令都要已分号结尾 set password=password('123456'); 修改root账户的host的地址 允许远程连接 注意防火墙设置,看是否需要开设端口 grant all privileges on *.* to 'root'@'%' identified by 'root'; flush privileges; 至此Mysql便安装完成了!
Mysql相关操作:
vim /etc/my.cnf 可以在my.cnf文件中修改各种配置信息 exit 退出mysql命令窗口 service mysql status/stop/start/restart 或者 systemctl stop/start/restart mysql.service 查看mysql状态/停止/开启/重启
拓展包安装
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
常见问题
1.Apache启动时,默认80端口占用,错误提示如下
make_sock:could not bind to address 0.0.0.0:80
no listening sockets available,shutting down
Unable to open logs
解决方案有两种: 1)停止占用80端口程序
netstat -lnp|grep 80
这里发现是被nginx占用了 根据 pid 查看一下 详细信息
ps 12472
确认无误后杀掉进程 (kill -9相对强硬一点,系统会发出SIGKILL信号,他要求接收到该信号的程序应该立即结束运行,不能被阻塞或者忽略)
kill -9 1777
但杀死nginx一个进程之后,它会再产生一个新的,用fuser -n tcp 80 命令查询之后发现有n个进程在同时执行,所以对于nginx来说,使用killall -9 nginx 才能达到效果(停止nginx 会导致其挂载的应用停止运行,慎用!nginx -s reload 可重启nginx)
2)修改Apache默认端口 vim /etc/httpd/conf/httpd.conf 或者直接使用FTP客户端工具打开此配置文件,修改Listen,然后重启Apache服务就可生效了 如果出现443端口占用问题 就前往 /etc/httpd/conf.d/ssl.conf 修改Listen再重启Apache服务
2.设置开机自启或关闭
chkconfig httpd on
chkconfig httpd off
chkconfig mysqld off
chkconfig mysqld off
3.Mysql启动报错
问题1:
/etc/init.d/mysqld: line 239: /bin/my_print_defaults: Permission denied
解决方式: 这种错误意思是在**/etc/init.d/mysqld**配置文件的第239行有错误,找到这一行对症下药即可。
问题2:
Starting MySQL ERROR! Couldn't find MySQL server (/data/mysql/bin/mysqld_safe)
解决方式: 与上文配置mysql文件处理方式相同,在**/etc/my.cnf**文件中修改这两行 basedir=/usr/local/mysql datadir=/usr/local/mysql/data
4.部署完Apache+PHP之后,页面打开时只报错500,看不到提示信息
解决方案: 1)打开 php.ini(如果不知道在什么位置 ,先使用find / -name php.ini 定位文件),将display_errors=off修改为display_errors=on error_reporting=E_ALL(所有错误和警告都报错) 2)打开 /etc/httpd/conf/httpd.conf,追加两行 最后重启Apache,再刷新页面,就能看到提示信息展示出来了
5.页面提示错误Uncaught Error: Call to undefined function json_encode()
这个问题出现的原因是缺乏php-json拓展模块,需要安装
yum -y install php-devel php-pear gcc make
pear install pecl/json
cd /etc/php.d
echo "extension=json.so" > json.ini
|