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