IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux(CentOS)环境下 Apache + PHP +Mysql 项目部署 -> 正文阅读

[系统运维]Linux(CentOS)环境下 Apache + PHP +Mysql 项目部署

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在线安装
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状态/停止/开启/重启

拓展包安装

  • 安装Apache扩展包
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
  • 安装PHP扩展包
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
  • 安装Mysql扩展包
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端口程序

# 查看所有端口名包含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
 #安装json
 pear install pecl/json
 #往json.ini中加入一行,extension=json.so,让php支持json
 cd /etc/php.d
 echo "extension=json.so" > json.ini
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-26 17:06:53  更:2022-06-26 17:07:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 23:09:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码