返回顶部
首页 > 资讯 > 操作系统 >Linux中PHP环境部署与项目上线的示例分析
  • 799
分享到

Linux中PHP环境部署与项目上线的示例分析

2023-06-15 09:06:29 799人浏览 安东尼
摘要

这篇文章主要为大家展示了“linux中PHP环境部署与项目上线的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中php环境部署与项目上线的示例分析”这篇文章吧。一、项目上线部署

这篇文章主要为大家展示了“linuxPHP环境部署与项目上线的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中php环境部署与项目上线的示例分析”这篇文章吧。

一、项目上线部署

1、前言

要想部署环境上线项目,先具备以下条件:服务器(ip、帐号密码、终端)、相应的软件、域名(备案解析、代码)等。

服务器、域名购买

首先登录控制台,获取需要连接的主机ip地址:

Linux中PHP环境部署与项目上线的示例分析

获取到用于连接的公网IP后,即可使用远程终端工具连接上待操作上线的服务器。

远程工具可以使用Putty、CMD等,无限制要求。

Linux中PHP环境部署与项目上线的示例分析

Centos7.6为例,在购买好服务器并产生实例后,首次登录进系统请先执行“yum -y update”来更新整个系统,防止系统存在漏洞:

Linux中PHP环境部署与项目上线的示例分析

2、安装PHP7

在当前系统默认的yum源中,PHP最新的版本为5.4.16[DY2] ,而需要上线的项目要求最低版本为PHP7.0,此时,EPEL[DY3] 恰恰可以解决这的问题。

a. 安装CentOS7适用的epel

 rpm -Uvhhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

b. 获取PHP7的yum源

rpm -UvhHttps://mirror.WEBtatic.com/yum/el7/webtatic-release.rpm

c. 安装PHP7.2及其常用扩展

yum install php72w php72w-cli php72w-common php72w-develphp72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlndphp72w-opcache php72w-pdo php72w-xml

Linux中PHP环境部署与项目上线的示例分析


d. 测试PHP安装情况

php -v

Linux中PHP环境部署与项目上线的示例分析

3、安装Apache2

a. 执行安装的yum指令:

yum -y install httpd

b. 设置Apache开机启动并且启动Apache:

systemctl enable httpd && systemctl start httpd[DY4]

c. 编写一个静态文件和一个php脚本测试Apache对于动、静态文件是否解析正常

注意:Apache的默认站点位于“/var /www/html

创建index.html、index.php文件,内容随意:

Linux中PHP环境部署与项目上线的示例分析

使用浏览器进行测试访问:

Linux中PHP环境部署与项目上线的示例分析

4、安装Mariadb[DY5]

此处安装的Mariadb为Mysql的一大分支,在使用上与mysql没有太大的差别。

a. 执行安装指令

yum -y install mariadb-server

Linux中PHP环境部署与项目上线的示例分析

b. 启动Mariadb服务并且设置开机启动项

systemctl enable mariadb && systemctlstart mariadb

c. 执行初始化Mariadb数据库指令(设置初始密码等操作)

mysql_secure_installation[DY6]

d. 尝试使用命令行登录到Mariadb

mysql -u root -p

Linux中PHP环境部署与项目上线的示例分析

5、域名解析

之前做修改hosts文件,其实就是域名解析的一种,当时只是局限于本地,现在要考虑是线上。

要做解析得登录到域名控制面板中去,解析域名之前最好先确保域名已经备案,如果没有备案的域名,则虽然解析会成功,但是会影响使用,在使用的时候会被服务商拦截。

Linux中PHP环境部署与项目上线的示例分析

点击添加解析记录按钮:

Linux中PHP环境部署与项目上线的示例分析

在弹出的弹窗界面中填写对应的记录信息[DY7] :

Linux中PHP环境部署与项目上线的示例分析

使用ping测试:

Linux中PHP环境部署与项目上线的示例分析

6、解压代码导入数据库

步骤1**:导入sql****文件到数据库中去**

进入数据库的命令行管理界面,创建出需要的数据库edu16,使用source指令导入sql文件:

Linux中PHP环境部署与项目上线的示例分析

步骤2**:创建站点的运行目录,将上传好的代码zip****压缩包进行解压,然后将代码复制到站点运行目录中去**

a. 约定站点目录为“/var/www/html”。

创建站点目录:

目录已经存在,不需要创建

b. 复制先前上传的代码压缩包到当前站点目录下,解压压缩包,解压完毕之后可以删除

解压语法:unzip 压缩包路径

Linux中PHP环境部署与项目上线的示例分析

此时由于站点入口文件在public目录下,而当前项目的站点在/var/www/html中,缺少个public,所以此时需要修改apache的配置文件中的DocumentRoot一项。

# vim /etc/httpd/conf/httpd.conf
Linux中PHP环境部署与项目上线的示例分析

Linux中PHP环境部署与项目上线的示例分析

同时赋予临时目录写权限:

Linux中PHP环境部署与项目上线的示例分析
解决伪静态的问题(不解决只能访问首页,其他页面都404):

Linux中PHP环境部署与项目上线的示例分析

思路:开启当前站点根目录下的AllowOverride配置项,设置为All即可,然后重启apache。

7、创建虚拟主机

目标:要求上线能够使用https协议进行访问。【提高安全性,增强用户对网站的信心】

a. 申请SSL证书

要想站点支持https协议,先得先去向CA申请服务器证书。目前有很多免费的证书可供申请,例如与阿里云合作的Sysmantec一年免费证书,一般免费的证书只能绑定一个域名。除了1年免费的,还有三个月免费的,但是不限次数,不限域名个数,甚至还支持通配符。

以阿里云为例:

https://common-buy.aliyun.com/?spm=5176.2020520163.cas.3.267d56a7EBRcYw&commodityCode=cas#/buy

Linux中PHP环境部署与项目上线的示例分析

付款完毕之后点击“待申请证书”:
Linux中PHP环境部署与项目上线的示例分析
Linux中PHP环境部署与项目上线的示例分析

Linux中PHP环境部署与项目上线的示例分析
Linux中PHP环境部署与项目上线的示例分析

等待证书签发完成,随后下载证书:

Linux中PHP环境部署与项目上线的示例分析

解压压缩包之后得到的证书公私玥文件:

Linux中PHP环境部署与项目上线的示例分析

将三个文件上传到服务器上去,并且固定保存路径,尽量不要变化。

约定,将证书公私玥文件存储在“/ssl/”
Linux中PHP环境部署与项目上线的示例分析

b. 安装Apache的mod_ssl模块

yum -y install mod_ssl

Linux中PHP环境部署与项目上线的示例分析

c. 虚拟主机的配置参考(80+443):

注意:yum方式安装的apache的默认主配置文件位于/etc/httpd/conf/httpd.conf

Linux中PHP环境部署与项目上线的示例分析

根据主配置文件中的配置可以看出,其引入了conf.d目录下的全部conf文件,那么可以在该目录中创建一个vhosts.conf****文件,作为虚拟主机的配置文件:

80端口主机:

<VirtualHost *:80>ServerAdmin cherish@cherish.pwDocumentRoot"PATH"ServerName “yourdomain.com”<Directory “PATH”>Allow from allAllowOverride allOptions -indexesRequire all granted

443端口主机:

<VirtualHost *:443>SSLEngine onSSLCertificateFile “公钥文件路径”SSLCertificateKeyFile “私钥文件路径”SSLCertificateChainFile “证书链文件路径”SSLCipherSuite"ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE"SSLProtocol TLSv1.1 TLSv1.2Headeralways set Strict-Transport-Security “max-age=63072000; includeSubdomains;preload”DocumentRoot “PATH”ServerName “yourdomain.com”<Directory “PATH”>Allowfrom allAllowOverride allOptions -indexesRequire all granted

Linux中PHP环境部署与项目上线的示例分析

创建好之后,参考上述的框框中配置代码,进行修改,其中443端口的虚拟主机配置含义如下:
Linux中PHP环境部署与项目上线的示例分析

修改完毕之后保存退出,然后重启apache

systemctl restart httpd

d. 打开浏览器访问项目,检查https协议是否生效

Linux中PHP环境部署与项目上线的示例分析

问题,生效虽然生效了,但是https协议需要用户手动去补充,在直接输入域名访问的时候默认还是80的http****协议,如何解决?

答:使用重写的方法,强制用户在访问http的时候跳转到https。操作步骤如下,在站点根目录下的“.htaccess”文件中添加如下代码,保存退出即可:
Linux中PHP环境部署与项目上线的示例分析

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

举手之劳:框架运行的时候报错了,请解决。

错误1**:权限不足**
Linux中PHP环境部署与项目上线的示例分析

解决办法:
Linux中PHP环境部署与项目上线的示例分析

错误2**:数据库连接失败**

Linux中PHP环境部署与项目上线的示例分析

解决办法:修改项目目录下的.env文件

Linux中PHP环境部署与项目上线的示例分析

处理完毕之后项目即可访问您的项目了。


[DY1]如搭配使用的服务器在大陆境内,则需要域名先通过ICP备案。

[DY2]RHEL以及他的衍生发行版如CentOS、Scientific Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安全稳定才是重点。

[DY3]EPEL:Extra Packages of EnterpriseLinux

[DY4]“指令A && 指令B”语法表示当指令A执行成功之后再去执行指令B。

systemctl指令是CentOS7中特有的指令,含义如指令名称:systemcontrol。

控制服务开关:

systemctl 开关服务名

启动项管理:

  • systemctl enable/disable 服务名

  • [DY5]在CentOS7的yum源中,数据库软件没有MySQL,取而代之的是Mariadb。

  • [DY6]执行该指令后依次有以下几个输入内容:

  • 输入当前数据库root帐号密码,没有密码则直接按回车;

  • 是否设置密码?输入Y后,为root用户设置密码;

  • 是否移除匿名用户?选择Y;

  • 是否禁止root用户远程登录?Y/n均可,不会生效;

  • 是否删除测试的test数据库?选择Y/n均可;

  • 是否刷新权限?选择Y;

[DY7]常见的几个记录类型:

A记录:将域名指向一个IPv4地址;

CNAME记录:域名的别名,将一个域名指向另一个域名;

MX记录:一般用于做域名邮箱,将域名指向一个邮件服务器;

以上是“Linux中PHP环境部署与项目上线的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: Linux中PHP环境部署与项目上线的示例分析

本文链接: https://lsjlt.com/news/279383.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux中PHP环境部署与项目上线的示例分析
    这篇文章主要为大家展示了“Linux中PHP环境部署与项目上线的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中PHP环境部署与项目上线的示例分析”这篇文章吧。一、项目上线部署...
    99+
    2023-06-15
  • Docker部署项目的示例分析
    这篇文章主要为大家展示了“Docker部署项目的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Docker部署项目的示例分析”这篇文章吧。环境准备Docker安装启动检查系统内核是否满足...
    99+
    2023-06-29
  • Vue+Django项目部署的示例分析
    这篇文章主要介绍Vue+Django项目部署的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本地项目配置1 复制 luffy/settings/dev.py为prop.py修...
    99+
    2024-04-02
  • Hadoop集群环境部署的示例分析
    这篇文章主要介绍了Hadoop集群环境部署的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为集群自定义一个名称:在安装集群组建之前安装程序需要对主机进行一些环境检查工...
    99+
    2023-06-02
  • SpringBoot项目docker容器部署的示例分析
    这篇文章主要介绍了SpringBoot项目docker容器部署的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、修改docker.service,使其暴露2375端...
    99+
    2023-06-29
  • Linux中怎么部署一个Vue项目环境
    这篇文章将为大家详细讲解有关Linux中怎么部署一个Vue项目环境,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装要将Vuei .js集成到一个项目中,您可以使用CDN包、NPM或CLI。...
    99+
    2023-06-15
  • 在centos7下部署运行一个php项目的示例分析
    这篇文章主要为大家展示了“在centos7下部署运行一个php项目的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在centos7下部署运行一个php项目的示例分析”这篇文章吧。因为要做...
    99+
    2023-06-15
  • CentOS 6.5下ZooKeeper3.4.6集群环境部署及单机部署的示例分析
    小编给大家分享一下CentOS 6.5下ZooKeeper3.4.6集群环境部署及单机部署的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!【系统】Cent...
    99+
    2023-06-03
  • PHP环境搭建的示例分析
    这篇文章给大家分享的是有关PHP环境搭建的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Apache     1. 下载地址:  ...
    99+
    2024-04-02
  • jenkins分环境部署vue/react项目的方法步骤
    vue/react部署请参考上一篇文章:https://www.jb51.net/article/238583.htm 项目开发正常都需要开发环境、测试环境、生产环境,每个环境部署都...
    99+
    2024-04-02
  • 怎么将本地SpringBoot项目jar包部署到Linux环境中
    这篇文章主要介绍了怎么将本地SpringBoot项目jar包部署到Linux环境中的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么将本地SpringBoot项目jar包部署到Linux环境中文章都会有所收获,...
    99+
    2023-07-06
  • Maven环境安装配置和新建项目的示例分析
    这篇文章主要介绍Maven环境安装配置和新建项目的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 Maven是什么?Apache Maven 是一种用作软件项目管理和理解工具。它基于项目对象模型(POM)的...
    99+
    2023-06-22
  • IDEA2022中部署TomcatWeb项目的流程分析
    目录使用工具:1.下载Tomcat:1.1.Tomcat启动、关闭。卸载:在Tomcat在启动Web项目:2.在IDEA中构建Maven Web项目  2.1.使用模板构建2.2.不...
    99+
    2023-05-13
    idea部署Tomcat项目 idea配置部署Tomcat
  • Docker部署前后端分离项目的实现示例
    目录一、环境准备二、运行镜像解决问题Redis安装Nginx安装三、打包项目四、部署一、环境准备 服务器 阿里云服务器 1核+2GB即可 软件 本次部署采用的是 docker,因此软...
    99+
    2024-04-02
  • Node.js中沙箱环境的示例分析
    这篇文章给大家分享的是有关Node.js中沙箱环境的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。node官方文档里提到node的vm模块可以用来做沙箱环境执行代码,对代...
    99+
    2024-04-02
  • Linux中环境变量配置文件的示例分析
    这篇文章主要介绍Linux中环境变量配置文件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重...
    99+
    2023-06-13
  • SpringBoot + Vue 项目部署上线到Linux 服务器的教程详解
    前言 给大家分享以下我是如何部署 SpringBoot + Vue 前后端分离的项目的,我用的 Linux 发行版是 CentOS7.5 有了一个基于 ElementUI 的电商后台管理系统,在开发一个相似的后台就会...
    99+
    2022-06-03
    SpringBoot Vue 部署Linux 服务器 SpringBoot Vue Linux 服务器
  • pycharm终端部启用虚拟环境的示例分析
    pycharm终端部启用虚拟环境的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。新建项目时,选择新建虚拟环境项目打开后,启动终端,却经常发现,并没有开启...
    99+
    2023-06-22
  • Springboot内外部logback多环境配置的示例分析
    这篇文章给大家分享的是有关Springboot内外部logback多环境配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、概述SpringBoot官方文档Springboot 默认读取的是项目内的 ...
    99+
    2023-06-26
  • linux中文件与目录管理的示例分析
    这篇文章给大家分享的是有关linux中文件与目录管理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。====基本命令====# pwd [-P] :显示当前的工作目录-P:选项表示显示实际的工作目录,而非...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作