前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux – 基于CentOS搭建LAMP环境

Linux – 基于CentOS搭建LAMP环境

作者头像
Yiiven
发布2022-12-15 15:23:29
1.3K0
发布2022-12-15 15:23:29
举报
文章被收录于专栏:怡文菌怡文菌

搭建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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建LAMP服务器环境
    • 检查服务是否安装
      • 安装Mysql
        • 安装apache
          • 安装PHP
          • 安装PHP5.6
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档