本站教程收集整理的这篇文章主要介绍了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 源
[[email?protected] tmp]$ sudo yum update
使用yum安装 Apache
[[email?protected] tmp]$ sudo yum install httpd
安装好查看版本
[[email?protected] tmp]$ httpd -v Server version: Apache/2.2.15 (UniX) Server built: Jun 19 2018 15:45:13
开启 apache 自启动
[[email?protected] tmp]$ sudo chkconfig httpd on
Apahce 相关命令
sudo service httpd start #启动apache sudo service httpd stop # 禁用apache sudo service httpd restart # 重启apache sudo apachectl configtest #测试配置文件的语法是否正确
开放 Apache 常用的 80,443端口
开放Apache的 80
,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 配置文件
编辑 /etc/httpd/conf/httpd.conf
,禁止列出文件目录,访问.env
(Laravel的配置文件)格式的文件
执行命令:
sudo vim /etc/httpd/conf/httpd.conf
找到 <Directory "/var/www/html"
,将 Options Indexes FollowSymLinks
改为 Options FollowSymLinks
,禁止列出文件目录
在当前组的 </Directory>
之前添加
<Files .env> Order allow,deny Deny from all </Files>
禁止访问.env
文件
最后httpd.conf
中<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 httpd: apr_sockaddr_info_get() Failed for centos httpd: Could not reliably determine the server's fully qualified domain name,using 127.0.0.1 for ServerName Syntax OK
如果出现apr_sockaddr_info_get()
的错误,
- 确认
etc/sysconfig/network
设定的值
$ cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=centos
-
/etc/hosts
追加
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 centos ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
-
/etc/httpd/conf/httpd.conf
修改
#ServerName www.example.com:80 ServerName centos:80
安装 MysqL 5.7
更新及安装 MysqL 的 yum 源
- 官网下载源码包
[[email?protected] tmp]$ wget http://dev.Mysql.com/get/MysqL57-community-release-el6-7.noarch.rpm
- rpm 安装 MysqL 的 yum 源
[[email?protected] tmp]$ sudo rpm -Uvh MysqL57-community-release-el6-7.noarch.rpm
- 打开 @H_168_44@mysqL-community.repo 文件,查看关于 MysqL 的内容,确定
[MysqL57-community]
的enable
的值是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次确认,都输入y
,按Enter
键确认即可
完成后启动服务
[[email?protected] tmp]$ sudo service MysqLd start
启动完成后,查看临时给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)
第一行 [email?protected]: 3fF4?tujHrfl
这个就是数据库的 root 密码了
修改初始化密码
为了MysqL安全,建议修改 root的初始密码
执行命令:
[[email?protected] tmp]$ sudo MysqL_secure_installation
- 执行上面的命令之后,需要先输入
root
临时生成的密码,上一步查询到 - 输入
root
目前的密码之后,需要输入2次新的root密码 -
Change the password for root ? ((Press y|Y for vps云服务器 Yes,any other key for No) :
回复y
来确认修改root
用户的密码 -
Do you wish to conTinue with the password provided?(Press y|Y for Yes,any other key for No) :
回复y
来继续下面的步骤 -
Remove anonymous users? (Press y|Y for Yes,any other key for No):
回复y
来移除匿名用户(在生成环境下,你应该删除它) -
Disallow root login remotely? (Press y|Y for Yes,any other key for No) :
回复y
来禁用root
远程登录 -
Remove test database and access to it? (Press y|Y for Yes,any other key for No) :
回复y
来移除测试数据库 -
Reload privilege tables Now? (Press y|Y for Yes,any other key for No) :
回复y
来重新加载权限
@H_891_4@mysqL 的配置文件默认在 /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 http://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
将 [remi]
节点下的 enabled
的值由0
改为 1
。
列出 /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版本,修改对应版本remi-php<version>.repo
的文件
因为我需要安装的是 7.2
版本,所以编辑的是 remi-php72.repo
执行命令:
sudo vim /etc/yum.repos.d/remi-php72.repo
将 [remi-php72]
节点下的 enabled
的值由0
改为 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
安装途中,会出现多次确认,输入y
并按Enter
键 确认 安装
安装完成之后,可以通过php -v
查看 php 版本 或php -R_858_11845@
查看安装的扩展
配置php
配置文件默认是在/etc/php.ini
date.timezone = Asia/Shanghai upload_max_filesize = 20M post_max_size = 20M #生成环境需关掉显示错误信息 display_errors = Off # 在http返回头不显示 php 信息 expose_php = Off
安装Composer
按照 Command-line installation 命令进行安装
cd /tmp php -r "copy('https://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,需要不同的版本,可以在官网页面中进行选择
上图框住的部分,鼠标放上去可以看到链接,鼠标在下载链接上右键,选择”复制链接地址(E)”(Chrome浏览器的右键菜单选项)
- 下载 安装包
wget http://download.redis.io/releases/redis-4.0.14.tar.gz
- 解压和安装
tar -xzf redis-4.0.14.tar.gz cd redis-4.0.14 sudo make sudo make install
- 启动 redis
直接执行 redis-server
命令就启动了
随开机启动脚本,在/etc/init.d/
文件夹下创建一个redis_端口号
的文件,如redis_6379
- 创建文件夹
# 创建存放redis配置的文件夹 sudo mkdir -p /etc/redis # 创建存放redis 数据的文件夹,端口号,默认是6379 sudo mkdir -p /var/redis/端口号
- 修改配置文件
# 进入下载 redis-4.0.14.tar.gz 文件时的目录,复制文件配置模板到 /etc/redis,并重命名为`6379.conf` sudo cp redis-4.0.14/redis.conf /etc/redis/6379.conf
参数 | 值 | 说明 |
---|---|---|
- 创建
/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_615_6749@来启动或者停止 redis-server 了
# 启动redis server sudo service redis_6379 start # 停止redis server sudo service redis_6379 stop
- 启用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 的版本是 2.1
可以通过yum info supervisor
查询supervisor
的信息
如果已通过 yum 命令安装了supervisor
2.1,可以通过yum remove supervisor*
来卸载。
安装 supervisor
# 查看python版本 [[email?protected] tmp]$ python -V Python 2.6.6
指定安装supervisor 3.1.3版本,这个版本可以用python2.6,直接装了就能用。可以pip install supervisor==3.1.3
或者easy_install supervisor==3.1.3
我是通过下面安装的:
easy_install supervisor==3.1.3
配置
- 生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
- 编辑配置文件
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
以后工作的配置文件就可以放在这个目录里了
- 启动supervisord
使用 /etc/supervisord.conf
配置文件来启动supervisord
服务
/usr/bin/supervisord -c /etc/supervisord.conf
- 常用的命令小记
#查看状态 supervisorctl status # 添加或者修改了配置文件,需要重新加载 supervisorctl reload # 重启所有 supervisorctl restart all
遇见的问题
Apache error: default virtualhost overlap on port 443或者80
Apache error: _default_ virtualhost overlap on port 443或者80
,修改 httpd.conf
文件,大概在 1002行左右添加
NameVirtualHost *:80 #如果需要使用到https,需要添加 443端口 NameVirtualHost *:443
You don‘t have permission to access /index.html on this server.
当确认了 DocumentRoot
如/home/testdomain/public_html
三级文件夹和index.html
的权限都是 755(drwxrwxr-X)之后,访问还是 You don‘t have permission to access /index.html on this server.
可以检查Centos的selinux
状态,尝试关闭SELinux访问之后,应该就可以访问到
查看 SELinux状态
[[email?protected] tmp]$ getenforce Enforcing #是启用的,如果返回Disabled,就是已经禁用了
临时关闭
sudo setenforce 0
永久关闭
vi /etc/selinux/config
将SELINUX=enforcing
改为SELINUX=disabled
设置后需要重启才能生效
References
- CentOS6.5 下升级 php7、MySQL5.7 文章安装部分文字描述主要参考
- centos 6.5 防火墙开放指定端口 简单快速设置好 iptables
-
Centos查看端口占用情况和开启端口命令 开放端口的内容规则,但是新增的规则一定要放在
-A FORWARD
开头这1行的前面,不然重启 iptables 不会生效 -
CentOS / httpd > StarTing httpd: httpd: apr_sockaddr_info_get() failed for [hostname].localdomain centos httpd 重啓顯示
httpd: apr_sockaddr_info_get() Failed for
的解决参考 - CentOS 7.X 关闭SELinux SELinux关闭参考
- CentOS下redis的安装 redis 安装参考
- linux chkconfig 使用说明 了解chkconfig使用很有帮助
- (上线时清缓存)laravel 5.1 的程序性能优化(配置文件) – 简书 和 轻松部署 Laravel 应用 | 《10. 手动部署 – 生产环境的必要优化》
- centos6.5安装supervisor Centos 6.5下安装 supervisor 3 的解决方法和centos下安装supervisor的步骤详解 很详细
本站总结
以上是本站教程为你收集整理的Centos6.5 安装 LAMP全部内容,希望文章能够帮你解决Centos6.5 安装 LAMP所遇到的程序开发问题。
如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。