• CentOS7.5搭建LAMP环境


    导言

    LAMP环境搭建,网上可以搜到很多的结果。为什么我还要整理一下呢,是因为有些网上给出的解决办法可能仅适用于某些特定的环境下,并不一定适用于所有出现问题的情况。

    当然我写本篇的目的也不是保证所有的问题都能解决。只是记录自己的部署过程,仅供君参考。

    声明:

    本篇不同于上一篇一键安装包安装方式,建议还是采用本篇所述的操作

    搭建

    0、查看自己系统的版本信息

    之所以查看自己系统的版本信息,是因为在CentOS系统6和7中有些不同的地方。比如CentOS7中没有了命令service起服务,而换成了systemctl。

    本文所有搭建是基于CentOS7.5.1804,以下是几个查看系统版本的命令

    1 查看系统详细发行版本号:
    2 cat /etc/redhat-release
    3 查看系统版本号及位数:
    4 rpm -q centos-release
    5 查看内核版本及红帽版本:
    6 cat /proc/version
    7 查看内核版本:
    8 uname -a

    1、安装Apache(httpd就是Apache的服务)

    这里我采用的是yum安装方式,简单高效只需要配置以下即可。

     1 [1] 安装 httpd
     2 [root@linux~]# yum -y install httpd
     3 [2] 配置httpd,将服务器名称替换为您自己的环境
     4 [root@linux~]# vi /etc/httpd/conf/httpd.conf
     5 # line 86: 改管理员的邮箱地址为自己的
     6 ServerAdmin root@linux.org
     7 # line 95: 改域名信息为自己的域名
     8 ServerName www.linux.org:80
     9 # line 151: none变成All
    10 AllowOverride All
    11 # line 165: 添加只能使用目录名称访问的文件名
    12 DirectoryIndex index.html index.cgi index.php
    13 # add follows to the end
    14 # server's response header(安全性)
    15 ServerTokens Prod
    16 # keepalive is ON
    17 KeepAlive On
    18 [root@linux~]# systemctl start httpd
    19 [root@linux~]# systemctl enable httpd
    20 [3] 如果Firewalld正在运行,请允许HTTP服务。HTTP使用80 / TCP
    21 [root@linux~]# firewall-cmd --add-service=http --permanent
    22 success
    23 [root@linux~]# firewall-cmd --reload
    24 success
    25 [4]现在可以创建一个页面来访问了。
    26 默认的访问路径为/var/www/html
    27 默认配置文件路径/etc/httpd/conf

    2、MySQL安装

    我这里和一般网上搜到的安装方式有些不同。或许是因为我的系统版本是7.5的原因吧

    1 安装mysql:
    2 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    3 rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
    4 yum install mysql-community-server
     1 修改密码:
     21】修改为无密码登录
     3 vi /etc/my.cnf
     4 在最后添加
     5 # skip password
     6 skip-grant-tables=1
     7 保存:wq
     8 重启mysql服务
     9 systemctl restart mysqld
    102】修改密码
    11 mysql -u root    可以直接使用这个命令连接mysql数据库
    12 注意:在MySQL 5.7 password字段已从mysql.user表中删除,新的字段名是“authenticalion_string”.可以使用"desc mysql;"SQL命令进行查看表字段设计
    13 所以修改密码的SQL语句为:
    14 update user set authentication_string=password('123456') where user="root";
    15 刷新一下:
    16 flush privileges;
    17 到此修改密码即完成了!

    如果还想可以远程链接,可以这样操作:

    1 登陆mysql数据库:
    2 mysql -u root -p
    3 切换到mysql数据库:
    4 use mysql;
    5 直接更改host字段相对应的root值:
    6 update user set host = '%' where user = 'root';
    7 如果想刷新一下可以用上边的刷新命令!现在可以从远程链接到服务器的mysql数据库了。

    如果从远程不能链接参考一下解决办法:

     1 方法一
     2 启动命令:systemctl start mysqld.service
     3 停止命令:systemctl stop mysqld.service
     4 查看状态:systemctl status mysqld.service
     5 
     6 方法二
     7 在防火墙中开启3306端口,分别执行以下这两命令:
     8 firewall-cmd --zone=public --add-port=3306/tcp --permanent
     9 firewall-cmd --reload
    10 查看开启的端口:
    11 firewall-cmd --zone=public --list-ports

    现在从远程连接mysql数据库

    3、PHP安装

    配置httpd以使用PHP脚本

    1 安装PHP.
    2 [root@linux~]# yum -y install php php-mbstring php-pear
    3 [root@linux~]# vi /etc/php.ini
    4 # line 878: 取消注释,设置时区
    5 date.timezone = "Asia/Shanghai"
    6 [root@linux~]# systemctl restart httpd

    创建一个页面查看PHP信息

    1 [root@linux~]# vi /var/www/html/index.php
    2 <?php phpinfo(); ?>

    访问ip即可以看到PHP的信息。

    4、php-mysql安装

    1 yum install -y php-mysql

    执行完即可以在PHP信息中查到支持mysql的连接。

    5、如果访问不报错页面展示空白需要改下apache访问路径项目的所属和所属组:

    比如我的Apache的站点在/web下,以root 登录后执行:chown -R apache:apache /web

    因为在Apache的配置文件中是以apache用户和用户组来进行访问站点的。

    6、开启bbr

    安装命令:wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

    安装完成之后需要重启下服务器才能生效。

    检查命令:sysctl net.ipv4.tcp_available_congestion_control

    如果输出的结果为:net.ipv4.tcp_available_congestion_control = reno cubic bbr(带有bbr即为开启的bbr)

    以上是我在建设自己的站点的时候所使用的操作,希望对你有所帮助。

  • 相关阅读:
    c#实现一个打砖块游戏step by step---开篇
    T-SQL语言基础(转载)
    一个经典实例理解继承与多态原理与优点(附源码)---面向对象继承和多态性理解得不够深刻的同学请进
    SQL数据库学习系列之一
    能否优雅解决此编程任务是检验一名开发人员是否已经初具编程思维的分水岭
    C#中的委托和事件(续)
    C# 中的委托和事件(转载)
    任务驱动,学习.NET开发系列第2篇------单词统计
    任务驱动,Winform VS WEB对比式学习.NET开发系列第一篇------身份证解析(不断更新的WEB版本及Winform版本源码)
    Echarts ecomfe 触摸屏 touch 在IE10下无法显示悬浮框
  • 原文地址:https://www.cnblogs.com/hanxiaobei/p/9932903.html
Copyright © 2020-2023  润新知