基于Centos7的LNMP环境搭建

1.前言

我的阿里云服务器到期了,趁着双十一活动,买了一台腾讯云服务器(腾讯云活动力度大),刚好也想对Centos7系统进行回顾,顺便将博客站点转移过来,通过本次转移,积累一点运维方面的经验,并对linux方面的知识进行回顾运用。

2.虚拟机和Centos7配置

使用的是腾讯云的服务器,配置环境为纯Centos7环境

操作系统CentOS 7.6 64位

CPU1核

内存2GB

公网带宽1Mbps

3.检验防火墙状态

运行getenforce命令查看SELinux的当前状态。

如果SELinux状态参数是Disabled, 则SELinux为关闭状态。

如果SELinux状态参数是Enforcing,则SELinux为开启状态。

4.Nginx+PHP+Mysql环境安装

4.1安装nginx

安装命令:

yum -y install nginx

查看版本:

nginx -v    

4.2安装mysql

运行命令更新YUM源:

rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

安装命令:

yum -y install mysql-community-server

查看版本:

mysql -V

4.3安装PHP

屏蔽baseurl:

cd /etc/yum.repos.d

vi ius.repo

找到baseurl这一行,在前面加#

更新yum源:

php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic。如果跳过epel-release的话,安装webtatic的时候,会报错,所以要安装两部分。

yum install epel-release -y

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装PHP扩展包

普通安装命令

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel

较全面安装命令

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xm

查看版本:

php -v

5. Nginx+PHP+Mysql环境配置

5.1配置Nginx文件

备份Nginx配置文件

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

在根目录创建网站目录

mkdir yjdata

修改Nginx配置文件,添加Nginx对PHP的支持

vim /etc/nginx/nginx.conf

a进入编辑模式,在server大括号内,添加下列配置信息

 location / {

               index index.php index.html index.htm;

        }

location ~ .php$ {

           root /usr/share/nginx/html;   

           fastcgi_pass 127.0.0.1:9000;           

       fastcgi_index index.php;

           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

           include fastcgi_params;      

 }

具体如下图所示

启动Nginx服务

systemctl start nginx

设置Nginx服务开机自启动

systemctl enable nginx

5.2 配置Mysql

启动MySQL服务

systemctl start mysqld

设置MySQL服务开机自启动

systemctl enable mysqld

查看/var/log/mysqld.log文件,获取并记录root用户的初始密码

grep 'temporary password' /var/log/mysqld.log

5.3配置PHP

新建phpinfo.php文件,用于展示phpinfo信息

vim /yjdata/phpinfo.php

添加以下信息:

<h1>Hello PHP, this is mtdgblog</h1>  

<?php  

 echo phpinfo();

 ?>

启动PHP-FPM

systemctl start php-fpm

设置PHP-FPM开机自启动

systemctl enable php-fpm

5.4 测试与访问

打开任意浏览器在地址栏输入http://域名/phpinfo.php。

6.安装composer

6.1安装composer

curl -sS https://getcomposer.org/installer | php

6.2设置环境变量

mv composer.phar /usr/local/bin/composer

6.3修改权限,否则执行会出错

chmod -R 777 /usr/local/bin/composer

6.4使用国内镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

7.安装thinkphp环境

7.1通过composer拉取

创建.json文件

vim /yjdata/composer.json

编辑内容

"require": {

   "php": ">=5.6.0",

   "topthink/framework": "5.1.*",

   "topthink/think-captcha": "^2.0"

}

通过composer install命令拉取

7.2项目迁移遇到的问题

7.2.1问题1:缓存写入失败

项目在本地环境正常运行,在linux服务器上提示thinkphp缓存写入失败,是因为没有给文件添加权限,你可以敲入以下命令:

chmod -R 777 yjdata

其中yjdata是我的项目文件夹名称,你也可以在项目文件内敲入:

chmod -R 777 Runtime/

7.2.2问题2:让nginx支持TP5.0伪静态规则配置

[root@VM_0_17_centos ~]# vim /etc/nginx/nginx.conf

添加如下伪静态规则代码:

if (!-e $request_filename) {

rewrite ^(.*)$ /index.php?s=$1 last;

break;

}

8.总结

本次LNMP安装和配置整体来说是比较成功的,通过这次安装,我成功独自搭建了LNMP环境,并对一些配置项有深刻的认识。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章