CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Centos6.5 安装 LAMP大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

Centos 安装 LAMP 系统: Centos 6.5 Apache 2.4 + php 7.2 + Mysql 5.7 准备工作 centos 查看版本 查看 centos版本 How to check CentOS Version cat /etc/redhat-release cat /etc/centos-release cat /etc/os-release 更新yum 源 [[em

Centos 安装 LAMP

系统: Centos 6.5
Apache 2.4 + PHP 7.2 + MysqL 5.7

准备工作

    @H_674_26@centos 查看版本

查看 centos版本 How to Check CentOS Version

cat /etc/redhat-release
cat /etc/centos-release
cat /etc/os-release
    @H_674_26@更新yum 源
[[email protected] tmp]$ sudo yum update

使用yum安装 Apache

[[email protected] tmp]$ sudo yum install @R_450_10107@d

安装好查看版本

[[email protected] tmp]$ @R_450_10107@d -v
Server version: Apache/2.2.15 (UniX)
Server built:   Jun 19 2018 15:45:13

开启 apache 自启动

[[email protected] tmp]$ sudo chkconfig @R_450_10107@d on
@H_419_39@Apahce 相关命令
sudo service @R_450_10107@d start #启动apache
sudo service @R_450_10107@d stop # 禁用apache
sudo service @R_450_10107@d restart # 重启apache
sudo apachectl configtest #测试配置文件的语法是否正确

开放 Apache 常用的 80,443端口

开放Apache的 @H_874_56@80,@H_874_56@443 端口

执行命令:

sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --dport 443 -j ACCEPT

保存之前输入已开放端口号语句的命令

sudo /etc/rc.d/init.d/iptables save

查看打开端口命令

sudo service iptables status
sudo service iptables restart #重启 iptables命令

配置 Apache 配置文件

编辑 @H_874_56@/etc/@R_450_10107@d/conf/@R_450_10107@d.conf,禁止列出文件目录,访问@H_874_56@.env(Laravel的配置文件)格式的文件

执行命令:

sudo vim /etc/@R_450_10107@d/conf/@R_450_10107@d.conf

找到 @H_874_56@<Directory "/var/www/html",将 @H_874_56@Options Indexes FollowSymLinks改为 @H_874_56@Options FollowSymLinks,禁止列出文件目录

在当前组的 @H_874_56@</Directory> 之前添加

<Files .env>
    Order allow,deny
    Deny from all
</Files>

禁止访问@H_874_56@.env文件

最后@H_874_56@@R_450_10107@d.conf中@H_874_56@<Directory "/var/www/html">节点的所有内容类似

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/html">
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
<Files .env>
    Order allow,deny
    Deny from all
</Files>
</Directory>
[[email protected] tmp]$ apachectl configtest
@R_450_10107@d: apr_sockaddr_info_get() Failed for centos
@R_450_10107@d: Could not reliably determine the server's fully qualified domain name,using 127.0.0.1 for ServerName
Syntax OK

如果出现@H_874_56@apr_sockaddr_info_get()的错误

    @H_674_26@确认@H_874_56@etc/sysconfig/network设定的值
$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos
    @H_674_26@ @H_874_56@/etc/hosts追加
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 centos
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    @H_674_26@ @H_874_56@/etc/@R_450_10107@d/conf/@R_450_10107@d.conf 修改
#ServerName www.example.com:80
ServerName centos:80

安装 MysqL 5.7

更新及安装 MysqL 的 yum 源

    @H_674_26@官网下载源码包
[[email protected] tmp]$ wget @R_450_10107@://dev.MysqL.com/get/MysqL57-community-release-el6-7.noarch.rpm
    @H_674_26@rpm 安装 MysqL 的 yum 源
[[email protected] tmp]$ sudo rpm -Uvh MysqL57-community-release-el6-7.noarch.rpm
    @H_674_26@打开 @H_874_56@MysqL-community.repo 文件,查看关于 MysqL内容,确定 @H_874_56@[MysqL57-community] 的 @H_874_56@enable的值是@H_874_56@1
[[email protected] tmp]$ sudo vim /etc/yum.repos.d/MysqL-community.repo

安装 MysqL

执行安装 MysqL 命令

[[email protected] tmp]$ sudo yum install MysqL-community-server

安装时,会出现2次确认,都输入@H_874_56@y,按@H_874_56@Enter键确认即可

完成后启动服务

[[email protected] tmp]$ sudo service MysqLd start

启动完成后,查看临时给@H_874_56@root用户生成的密码

$ sudo grep "password" /var/log/MysqLd.log
2018-08-08T02:59:58.687152Z 1 [Note] A temporary password is generated for [email protected]: 3fF4?tujHrfl
2018-08-08T03:00:04.204111Z 2 [Note] Access denied for user 'UNKNowN_MysqL_USER'@'localhost' (using password: NO)

第一行 @H_874_56@[email protected]: 3fF4?tujHrfl 这个就是数据库的 root 密码了

修改初始化密码

为了MysqL安全,建议修改 root的初始密码

执行命令:

[[email protected] tmp]$ sudo MysqL_secure_installation
    @H_674_26@执行上面的命令之后,需要先输入 @H_874_56@root临时生成的密码,上一步查询到 @H_674_26@输入@H_874_56@root目前的密码之后,需要输入2次新的root密码 @H_674_26@ @H_874_56@Change the password for root ? ((Press y|Y for Yes,any other key for No) : 回复 @H_874_56@y来确认修改 @H_874_56@root用户的密码 @H_674_26@ @H_874_56@Do @R_696_8337@ish to conTinue with the password provided?(Press y|Y for Yes,any other key for No) : 回复@H_874_56@y来继续下面的步骤 @H_674_26@ @H_874_56@Remove anonymous users? (Press y|Y for Yes,any other key for No): 回复 @H_874_56@y来移除匿名用户(在生成环境下,你应该删除它) @H_674_26@ @H_874_56@Disallow root login remotely? (Press y|Y for Yes,any other key for No) : 回复@H_874_56@y来禁用 @H_874_56@root 远程登录 @H_674_26@ @H_874_56@Remove test database and access to it? (Press y|Y for Yes,any other key for No) : 回复@H_874_56@y来移除测试数据库 @H_674_26@ @H_874_56@Reload privilege tables Now? (Press y|Y for Yes,any other key for No) : 回复@H_874_56@y来重新加载权限

MysqL配置文件认在 @H_874_56@/etc/my.cnf

开启MysqL 自启动

[[email protected] tmp]$ sudo chkconfig MysqLd on

安装 PHP 7.2

如果之前已经安装过 PHP 的话,需要先卸载

[[email protected] tmp]$ sudo yum  remove PHP* PHP-common

更新及安装 PHP 的 yum 源

[[email protected] tmp]$ rpm -Uvh @R_450_10107@://rpms.famillecollet.com/enterprise/remi-release-6.rpm

修改 yum 源

执行命令:

#安装第三方源epel-release
[[email protected] tmp]$ sudo yum install epel-release
[[email protected] tmp]$ sudo vi /etc/yum.repos.d/remi.repo

将 @H_874_56@[remi] 节点下的 @H_874_56@enabled的值由@H_874_56@0 改为 @H_874_56@1。

列出 @H_874_56@/etc/yum.repos.d文件夹下的文件列表

[[email protected] tmp]$ ls -l /etc/yum.repos.d
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo  epel-tesTing.repo     MysqL-community-source.repo  remi-glpi92.repo  remi-glpi94.repo  remi-PHP70.repo  remi-PHP72.repo  remi.repo
CentOS-Debuginfo.repo  CentOS-Media.repo      epel.repo          MysqL-community.repo  remi-glpi91.repo             remi-glpi93.repo  remi-PHP54.repo   remi-PHP71.repo  remi-PHP73.repo  remi-safe.repo

通过上面的命令结果,可以按照自己需要安装PHP版本,修改对应版本@H_874_56@remi-PHP<version>.repo的文件

因为我需要安装的是 @H_874_56@7.2版本,所以编辑的是 @H_874_56@remi-PHP72.repo

执行命令:

sudo vim /etc/yum.repos.d/remi-PHP72.repo

将 @H_874_56@[remi-PHP72] 节点下的 @H_874_56@enabled的值由@H_874_56@0 改为 @H_874_56@1。

yum list PHP

列出所有可安裝的软件PHP清单,如果显示的是 7.x 的话 就没有问

开始安装 PHP

sudo yum install PHP PHP-cli PHP-curl PHP-json PHP-pdo PHP-MysqL PHP-gd PHP-bcmath PHP-xml PHP-mbString PHP-mcrypt PHP-redis PHP-crypto

安装途中,会出现多次确认,输入@H_874_56@y并按@H_874_56@Enter键 确认 安装

安装完成之后,可以通过@H_874_56@PHP -v查看 PHP 版本 或@H_874_56@PHP -m 查看安装的扩展

配置PHP

配置文件认是在@H_874_56@/etc/PHP.ini

date.timezone = Asia/Shanghai
upload_max_filesize = 20M
post_max_size = 20M
#生成环境需关掉显示错误信息
display_errors = Off
# 在@R_450_10107@返回头@L_197_144@ PHP 信息
expose_PHP = Off

安装Composer

按照 Command-line installation 命令进行安装

cd /tmp
PHP -r "copy('@R_450_10107@s://getcomposer.org/installer','composer-setup.PHP');"
# 如果安装的版本不一样,sha384会验证失败的情况
PHP -r "if (hash_file('sha384','composer-setup.PHP') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.PHP'); } echo PHP_EOL;"

PHP composer-setup.PHP

PHP -r "unlink('composer-setup.PHP');"
# 全局安装 composer
sudo mv composer.phar /usr/local/bin/composer
# 查看composer版本
composer -V

redis的安装(可选)

进入Redis,需要不同的版本,可以在官网页面中进行选择

Centos6.5 安装 LAMP

上图框住的部分,鼠标放上去可以看到链接,鼠标在下载链接上右键,选择"复制链接地址(E)"(Chrome浏览器的右键菜单选项)

    @H_674_26@下载 安装包
wget @R_450_10107@://download.redis.io/releases/redis-4.0.14.tar.gz
    @H_674_26@解压和安装
tar -xzf redis-4.0.14.tar.gz
cd redis-4.0.14
sudo make
sudo make install

Centos6.5 安装 LAMP

    @H_674_26@启动 redis

直接执行 @H_874_56@redis-server 命令就启动了

随开机启动脚本,在@H_874_56@/etc/init.d/文件夹下创建一个@H_874_56@redis_端口号的文件,如@H_874_56@redis_6379

    @H_674_26@创建文件
# 创建存放redis配置的文件夹
sudo mkdir -p /etc/redis
# 创建存放redis 数据的文件夹,端口号,认是6379
sudo mkdir -p /var/redis/端口号
    @H_674_26@修改配置文件
# 进入下载 redis-4.0.14.tar.gz 文件时的目录,复制文件配置模板到 /etc/redis,并重命名为`6379.conf`
sudo cp redis-4.0.14/redis.conf /etc/redis/6379.conf
@H_333_419@
参数 说明
daemonize yes 使redis以守护进程模式运行(由@H_874_56@no改为@H_874_56@yes)
pidfile @H_874_56@/var/run/redis_端口号.pid 设置redis的PID文件位置(认已是@H_874_56@/var/run/redis_6379.pid,不用修改)
port 端口号 设置redis监听的端口号(认是6379,不用修改)
dir @H_874_56@/var/redis/端口号 设置持久化文件存放位置,认是@H_874_56@dir ./,修改为@H_874_56@/var/redis/6379
    @H_674_26@创建 @H_874_56@/etc/init.d/redis_6379 文件进行配置
sudo vim /etc/init.d/redis_6379

在vim编辑器中填入以下内容

#!/bin/bash
# /etc/init.d/redis_6379

### BEGIN INIT INFO
# Provides: redis_6379
# required-Start: $remote_fs $syslog
# required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: redis server script
# Description: This service is used to manage redis-server start or stop
### END INIT INFO

redisPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${redisPORT}.pid
CONF="/etc/redis/${redisPORT}.conf"

case "$1" in
     start)
          if [ -f $PIDFILE ];
          then
              echo "$PIDFILE exists,redis-server is already running or crashed"
          else
              echo "StarTing redis Server"
              $EXEC $CONF
          fi
        ;;
     stop)
        echo "Stopping redis Server"
        #killall redis server
        kill $(ps aux | grep -m 1 "${EXEC}" | awk '{ print $2 }')
        ;;
     *)
         echo "Usage: service redis_6379 start|stop"
         exit 1
        ;;
esac
exit 0

保存之后,就可以@R_603_6749@来启动或者停止 redis-server 了

# 启动redis server
sudo service redis_6379 start
# 停止redis server
sudo service redis_6379 stop
    @H_674_26@启用redis-server开机启动
sudo chkconfig redis_6379 on

列出redis的启动信息

chkconfig --list | grep "redis"

如果列表中出现了

redis_6379      0:off   1:off   2:on    3:on    4:on    5:on    6:off

说明开机启动设置成功了

部署Laravel到生成环境的优化

安装包

composer install --optimize-autoloader --no-dev

建立缓存

PHP artisan optimize
PHP artisan api:cache
PHP artisan route:cache
PHP artisan view:clear
PHP artisan config:cache

supervisor (可选)

因为 Centos 6.5 通过Yum 安装的 supervisor 的版本是 @H_874_56@2.1

可以通过@H_874_56@yum info supervisor 查询@H_874_56@supervisor的信息

如果已通过 yum 命令安装了@H_874_56@supervisor 2.1,可以通过@H_874_56@yum remove supervisor*来卸载。

安装 supervisor

# 查看python版本
[[email protected] tmp]$  python -V
Python 2.6.6

指定安装supervisor 3.1.3版本,这个版本可以用python2.6,直接装了就能用。可以@H_874_56@pip install supervisor==3.1.3或者@H_874_56@easy_install supervisor==3.1.3

我是通过下面安装的:

easy_install supervisor==3.1.3

配置

    @H_674_26@生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
    @H_674_26@编辑配置文件
sudo vim /etc/supervisord.conf

找到

;[include]
;files = relative/directory/*.ini

改为

[include]
;files = relative/directory/*.ini
files = /etc/supervisor/conf.d/*.conf

保存之后,创建包含的目录

sudo mkdir -p /etc/supervisor/conf.d

以后工作的配置文件就可以放在这个目录里了

    @H_674_26@启动supervisord

使用 @H_874_56@/etc/supervisord.conf 配置文件来启动@H_874_56@supervisord 服务

/usr/bin/supervisord -c /etc/supervisord.conf
    @H_674_26@常用的命令小记
#查看状态
supervisorctl status
# 添加或者修改配置文件,需要重新加载
supervisorctl reload
# 重启所有
supervisorctl restart all

遇见的问题

@H_419_599@Apache error: default virtualhost overlap on port 443或者80

@H_874_56@Apache error: _default_ virtualhost overlap on port 443或者80,修改 @H_874_56@@R_450_10107@d.conf文件,大概在 1002行左右添加

NameVirtualHost *:80
#如果需要使用到@R_450_10107@s,需要添加 443端口
NameVirtualHost *:443
@H_442_607@You don‘t have permission to access /index.html on this server.

当确认了 @H_874_56@DocumentRoot 如@H_874_56@/home/testdomain/public_html三级文件夹和@H_874_56@index.html的权限都是 755(drwxrwxr-X)之后,访问还是 @H_874_56@You don‘t have permission to access /index.html on this server.

可以检查Centos的@H_874_56@selinux状态,尝试关闭SELinux访问之后,应该就可以访问到

查看 SELinux状态

[[email protected] tmp]$ getenforce
Enforcing #是启用的,如果返回Disabled,就是已经禁用了

临时关闭

sudo setenforce 0

永久关闭

@H_874_56@vi /etc/selinux/config

将@H_874_56@SELINUX=enforcing改为@H_874_56@SELINUX=disabled
设置后需要重启才能生效

References
    @H_674_26@ CentOS6.5 下升级 PHP7、MySQL5.7 文章安装部分文字描述主要参 @H_674_26@ centos 6.5 防火墙开放指定端口 简单快速设置好 iptables @H_674_26@ Centos查看端口占用情况和开启端口命令 开放端口的内容规则,但是新增的规则一定要放在@H_874_56@-A FORWARD开头这1行的前面,不然重启 iptables 不会生效 @H_674_26@ CentOS / httpd > Starting httpd: httpd: apr_sockaddr_info_get() failed for [hostname].localdomain centos @R_450_10107@d 重啓顯示 @H_874_56@@R_450_10107@d: apr_sockaddr_info_get() Failed for的解决 @H_674_26@ CentOS 7.X 关闭SELinux SELinux关闭 @H_674_26@ CentOS下Redis的安装 redis 安装参 @H_674_26@ linux chkconfig 使用说明 了解chkconfig使用很有帮助 @H_674_26@ (上线时清缓存)laravel 5.1 的程序性能优化(配置文件) - 简书轻松部署 Laravel 应用 | 《10. 手动部署 - 生产环境的必要优化》 @H_674_26@ centos6.5安装supervisor Centos 6.5下安装 supervisor 3 的解决方法centos下安装supervisor的步骤详解 很详细
@H_383_674@

大佬总结

以上是大佬教程为你收集整理的Centos6.5 安装 LAMP全部内容,希望文章能够帮你解决Centos6.5 安装 LAMP所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。