Linux – 基于CentOS搭建LAMP环境

2022-12-15 15:23:29 浏览数 (1)

搭建LAMP服务器环境

检查服务是否安装

httpd -v  –查看apche版本信息

which httpd  –查看apche安装位置

yum list installed | grep php  –查看已安装的PHP版本

安装Mysql

数据库常用命令:http://www.runoob.com/sql/sql-distinct.html

1.下载mysql-server文件,过程中遇到询问y/n/d,一路y下去

代码语言:javascript复制
[root@Centos ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2.安装mysql-server服务

代码语言:javascript复制
[root@Centos ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@Centos ~]# yum install mysql-server
[root@Centos ~]# service mysqld restart

3.设置Mysql管理员root密码

代码语言:javascript复制
[root@Centos ~]# mysql -uroot
mysql> set password for 'root'@'localhost' = password('yourpassword');

4.如果需要远程连接Mysql,需要配置Mysql的远程连接

a.授权远程连接用户

代码语言:javascript复制
mysql> grant all privileges on *.* to 'user'@'%' identified by 'password' with grant option;

b.刷新权限

代码语言:javascript复制
mysql> flush privileges;

c.检查权限

代码语言:javascript复制
mysql> select distinct concat('user:''',user,'''@''',host,''';') as query from mysql.user

出现以下内容说明配置正确

代码语言:javascript复制
 -------------------------- 
| query                    |
 -------------------------- 
| user:'yourname'@'%'; | #如果结果中包含这一行,说明配置正确,其中的"yourname"是你设置的username
| user:'root'@'127.0.0.1'; |
| user:'root'@'::1';       |
| user:'root'@'localhost'; |
 -------------------------- 

d.退出MySQL

代码语言:javascript复制
mysql> exit;

e.查找mysql当前使用的my.cnf路径

查看是否指定了my.cnf

代码语言:javascript复制
[root@Centos ~]# ps aux|grep mysql|grep 'my.cnf'

如果以上命令有输出,那么输出的内容即为指定的my.cnf信息,如果上面的命令没有输出,表示没有设置指定的my.cnf。

查看mysql默认读取my.cnf的目录

代码语言:javascript复制
[root@Centos ~]# mysql --help|grep 'my.cnf'

该命令会列出mysql默认搜寻到的my.cnf的目录,顺序排前的优先。

启动时没有使用配置文件

如果没有设置使用指定目录my.cnf文件及默认读取目录没有my.cnf文件,表示mysql启动时并没有加载配置文件,而是使用默认配置。

需要修改配置,可以在mysql默认读取的目录中,创建一个my.cnf文件(例如:/etc/my.cnf),把需要修改的配置内容写入,重启mysql后即可生效。

f.修改my.cnf

代码语言:javascript复制
[root@Centos ~]# vim /etc/my.cnf

1.将 bind-address = 127.0.0.1 设置成 bind-address = 0.0.0.0(设备地址)

2.重启mysql

代码语言:javascript复制
[root@Centos ~]# service mysql stop
[root@Centos ~]# service mysql start

补充说明

代码语言:javascript复制
[root@Centos ~]# service mysql status --查看有没有打开服务
[root@Centos ~]# service mysql start --打开服务
[root@Centos ~]# service mysql stop --停止服务
[root@Centos ~]# service mysql restart --重启服务

g.查看端口号

代码语言:javascript复制
[root@CentOS ~]# mysql -uroot -p'password'
mysql> show global variables like 'port';
代码语言:javascript复制
 --------------- ------- 
| Variable_name | Value |
 --------------- ------- 
| port          | 3306  |
 --------------- ------- 

h.如果上面的操作都做完了,远端工具还无法连接mysql,那么需要在防火墙中放开端口3306

先查看3306端口是否打开

代码语言:javascript复制
[root@CentOS ~]# netstat -nupl (UDP类型的端口)
[root@CentOS ~]# netstat -ntpl (TCP类型的端口)
a --表示所有
n --表示不查询dns
t --表示tcp协议
u --表示udp协议
p --表示查询占用的程序
l --表示查询正在监听的程序

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

代码语言:javascript复制
systemctl的基本用法
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

下面就要用到这个工具在搞事情了

代码语言:javascript复制
[root@CentOS ~]# systemctl stop firewalld --关闭防火墙,不管防火墙有没有关 都使用该命令关闭防火墙
[root@CentOS ~]# yum install iptables-services --安装|更新iptables服务
[root@CentOS ~]# systemctl enable iptables --设置开机启动iptables
[root@CentOS ~]# systemctl start iptables --打开iptables

--执行下面的命令是因为locate iptables没有找到/etc/sysconfig/iptables,如果你的系统中有这个文件,请忽略下面的命令
[root@CentOS ~]# iptables -P OUTPUT ACCEPT --随便写一条iptables命令配置个防火墙规则
[root@CentOS ~]# service iptables save --保存
[root@CentOS ~]# service iptables restart --重启
代码语言:javascript复制
[root@CentOS ~]# vim /etc/sysconfig/iptables
~ -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-- 看到有个兄弟是下面这样写的,不知道有什么区别
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
代码语言:javascript复制
添加在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited或者-A INPUT -j REJECT –reject-with icmp-host-prohibited之前
代码语言:javascript复制
[root@CentOS ~]# service iptables restart --重启

我执行完上面的所有操作之后,navcat依然是无法连接mysql服务器,最后是在华为云网络控制台编辑安全组,新增了3306端口,然后就可以连接,白折腾半天。。。

至此,mysql远程连接配置完成。

安装apache

apche的安装比较简单

代码语言:javascript复制
[root@centos ~]# yum install httpd

然后就是修改配置文件

代码语言:javascript复制
[root@centos ~]# vim /etc/httpd/conf/httpd.conf
  • 将#ServerName www.example.com:80 改为  ServerName localhost:80
  • 将#Listen 改为  Listen:portnum (portnum是您的linux中已开启的端口号)

配置完成后启动服务、检查服务状态

代码语言:javascript复制
[root@centos ~]# service httpd start
[root@centos ~]# service httpd status

测试连接

在浏览器地址栏输入 ip:port 访问您的站点,出现下面这样的页面就表示成功了

最后将httpd服务添加到开机启动

代码语言:javascript复制
[root@CentOS]# systemctl enable httpd

服务目录

/etc/httpd

主配置文件

/etc/httpd/conf/httpd.conf

网站数据目录

/var/www/html

访问日志

/var/log/httpd/access_log

错误日志

/var/log/httpd/error_log

主配置文件 /etc/httpd/conf/httpd.conf 中常用的参数

ServerRoot

服务目录

ServerAdmin

管理员邮箱

User

运行服务的用户

Group

运行服务的用户组

ServerName

网站服务器的域名

DocumentRoot

网站数据目录

Listen

监听的IP地址与端口号

DirectoryIndex

默认的索引页页面

ErrorLog

错误日志文件

CustomLog

访问日志文件

Timeout

网页超时时间,默认为300秒.

Include

需要加载的其他文件

更加详细的内容可以参考centos7 部署Apache服务器

安装PHP

代码语言:javascript复制
--PHP5.4
yum install -y php
--PHP7.0:
yum-config-manager --enable remi-php70
yum -y install php php-opcache
--PHP7.1:
yum-config-manager --enable remi-php71
yum -y install php php-opcache

这些都不是我要的版本,我需要的是5.6的版本,总不能让我一个小白自己动手编译吧。因为在windows平台运维很长一段时间了,所以知道5.6这个版本使用的人还是很有的,所以一定有源,功夫不负有心人,找到了,下面来记录一下是如何安装的

配置yum源

CentOS 6.5

代码语言:javascript复制
# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

CentOS 7.0

代码语言:javascript复制
# yum install epel-release
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

使用yum list命令查看可安装的包(Packege)。

代码语言:javascript复制
# yum list --enablerepo=remi --enablerepo=remi-php56 | grep php

安装PHP5.6

yum源配置好了,下一步就安装PHP5.6。

代码语言:javascript复制
# yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof

用PHP命令查看版本。

代码语言:javascript复制
# php --version
PHP 5.6.38 (cli) (built: Oct 24 2018 12:50:38)
Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans

在这里安装的版本是PHP5.6.38

安装完成,重启apche

代码语言:javascript复制
service httpd restart

至此LAMP环境就搭建完成了

测试

代码语言:javascript复制
vim /var/www/html/test.php
<?php
phpifo()
?>
:wq

然后在浏览器地址栏输入 ip:port/test.php,出现如图的结果,环境配置成功

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:

原文出处:Yiiven https://cloud.tencent.com/developer/article/2193274

0 人点赞