CentOS7 下配置 Nginx + PHP7 + MariaDB + ThinkPHP5.1

简介: 本次配置选择的服务器系统为 Centos7 环境是 Nginx + PHP7 + MariaDB + ThinkPHP5.1

最近突然想学习一下使用一些比较成熟的后台框架,考虑到之前帮大佬打下手的时候用过 ThinkPHP 所以就暂定了以 ThinkPHP 为主要学习目标。

下面是我在服务器端配置 Thinkphp 所需环境而踩的一些坑(且有很多已经是老坑了):

  • 本次配置选择的服务器系统为 Centos7 环境是 Nginx + PHP7 + MariaDB + ThinkPHP5.1
  • 我会按照我个人认为合适的顺序分别介绍他们的安装与配置过程

1. MariaDB 的安装与初始配置

# yum 安装
yum -y install mariadb mariadb-server

# 安装完成MariaDB,首先启动MariaDB
systemctl start mariadb
# 设置开机启动
systemctl enable mariadb

# 接下来进行MariaDB的相关简单配置
mysql_secure_installation

#首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):# 初次运行直接回车

#设置密码
Set root password? [Y/n] # 是否设置root用户密码,输入y并回车或直接回车
New password: # 设置root用户的密码
Re-enter new password: # 再输入一次你设置的密码

#其他配置
Remove anonymous users? [Y/n] # 是否删除匿名用户
Disallow root login remotely? [Y/n] #是否禁止root远程登录
Remove test database and access to it? [Y/n] # 是否删除test数据库
Reload privilege tables now? [Y/n] # 是否重新加载权限表

#初始化MariaDB完成,接下来测试登录
mysql -uroot -ppassword

2. PHP7 + PHP-FPM 安装

# 在centos7通过yum安装PHP7,首先在终端运行:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# 提示错误:
error: Failed dependencies:
epel-release >= 7 is needed by webtatic-release-7-3.noarch

# 需要先安装epel-release。
yum -y install epel-release 

# 再安装PHP7
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # 获取PHP7的yum源
yum install php70w php70w-fpm

# 验证安装
PHP -v,

# 显示当前PHP版本,信息如下:
[root@Ryoma /]# php -v
PHP 7.0.18 (cli) (built: Apr 15 2017 07:09:11) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

# 这样就在CentOS 7下通过yum安装成功PHP7.

3. 编译安装 Nginx 并配置 PHP

# [必须]安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++

# [必须]PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel

# [自选]zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel

# [自选]nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel

# 官网下载 Ngxin
# 直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html
# 推荐选择稳定版下载 : 当前版本 1.12.2
# 下载链接: https://nginx.org/download/nginx-1.12.2.tar.gz
wget -c https://nginx.org/download/nginx-1.12.2.tar.gz

# 解压 用到了之前下载的zlib库 若没下载可选择其他方式解压
tar -zxvf nginx-1.12.2.tar.gz

# 编译前初始化配置
cd nginx-1.12.2 # 进入nginx目录
./configure # 使用默认配置

# 编译安装
make
make install

# 查找安装路径
[root@Ryoma nginx-1.12.2]#whereis nginx
nginx: /usr/local/nginx

# 启动、停止 nginx
cd /usr/local/nginx/sbin/ # 进入 nginx sbin 目录
./nginx # 启动 nginx
./nginx -s quit # 此方式停止步骤是待 nginx 进程处理任务完毕进行停止
./nginx -s stop # 此方式相当于先查出 nginx 进程id再使用kill命令强制杀掉进程
./nginx -s reload # 重新加载

#查询 nginx 进程:
ps aux|grep nginx

# 配置 nginx
vim /usr/local/nginx/conf/nginx.conf
# 个人配置图如下

nginx配置

4. 安装 ThinkPHP5

# 全局安装 composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

# tp5 5.1 版本安装
composer create-project topthink/think  tp5  --prefer-dist
# PHP版本低于5.6的话 将仍然安装5.0版本
目录
相关文章
|
应用服务中间件 PHP nginx
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
520 25
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
504 20
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
494 2
|
Oracle 关系型数据库 MySQL
CentOS7安装MariaDB成功的实践
CentOS7安装MariaDB成功的实践
570 0
|
应用服务中间件 Linux PHP
Linux搭建tengine2.0<Nginx>+php7环境
本文介绍了在Linux系统上搭建Tengine 2.0(一个Nginx的增强版本)和PHP 7环境的详细步骤,包括创建安装目录、下载源码包及依赖库、编译安装Nginx、配置Nginx、安装PHP及其依赖、设置PHP-FPM、配置环境变量、安装Git和Composer,以及服务管理和日志查看等。
293 0
|
安全 关系型数据库 MySQL
提升PHP安全:8个必须修改的PHP默认配置
提升PHP安全:8个必须修改的PHP默认配置
262 0