-
2022-04-11 20:09:54
目录
1、ubuntu + nginx + php-fpm7.4 版本的运行环境
一、当前项目结构
/project_name |-- /dist #--- 项目编译后输出的目录 |-- /config #--- 配置文件目录 |---| |---|-- Dockerfile #--- Dockerfile文件 |---|-- nginx.conf #--- nginx配置文件
nginx.conf文件
二、创建Dockerfile文件
# 从ubuntu镜像中构建应用 FROM ubuntu:latest # 设置镜像的制作者 MAINTAINER congjiang # 安装nginx + php-fpm7.4 RUN apt-get update && apt-get upgrade && apt-get install -y nginx php7.4-fpm vim # 上一条命令安装nginx和fpm # nginx 默认安装路径 /etc/nginx/ # php-fpm 默认安装路径 /etc/php/fpm/ # nginx配置文件存放目录 /etc/nginx/conf.d/ # nginx默认项目路径 /var/www/html/ # 在上传目录之前,可以先删除旧项目代码 # RUN ["rm", "-rf", "/var/www/project_name/"] # 项目文件上传, 把当前目录下的所有文件上传到/var/www/project_name目录下 COPY ./dist/ /var/www/project_name/ # 把当前项目的nginx.conf配置文件上传到/etc/nginx/conf.d/目录下 COPY ./config/nginx.conf /etc/nginx/conf.d/default.conf # 容器运行时启动应用 # php-fpm7.4 -D : 启动fpm并在后台运行 # nginx -g 'daemon off;' : 启动nginx, 前台执行, 并保持进程常驻, 避免docker容器启动后就自动关闭了 CMD php-fpm7.4 -D && nginx -g 'daemon off;'
三、生成镜像文件
# 在项目project_name目录下执行命令 docker build -f config/Dockerfile -t myproject:latest . # 注: 最后的参数表示路径, . : 表示当前目录下 # -f 指定Dockerfile文件所在目录, 如果是相对路径,则从当前目录下查找 # -t 重新指定镜像的名称和标签 <name>:<tag>
四、使用镜像文件,并启动容器
# 启动镜像 docker run -itd -p 80:8080 myproject:latest # --name <name> 为启动的容器指定名称,不指定会默认随机一个名称 # -p 访问的端口:镜像内程序的端口 # -d 表示当前容器在后台运行 # -it 指定要启动的镜像名称和标签 <name>:<tag> # -v 本地路径:镜像内的路径 可以将本地路径和容器内的路径映射,可以即时修改文件即时生效,方便测试 # -v 命令可以有多条 # --rm 当前容器退出后将自动删除 # eg: -v E:/logs/:/var/logs/nginx/ 把nginx的日志文件映射到本地
注: nginx + php-fpm 环境搭建到这里已经完成。
启动运行容器后, 打开本地浏览器: http://localhost/ 就可以访问了
五、连接已启动的镜像容器
# 查看正在运行的容器 docker ps # CONTAINER ID IMAGE ... # 01f82e69c455 myproject ... docker exec -it 01f82e69c455 /bin/bash # -it 需要连接的容器的CONTAINER ID # /bin/bash 当前参数必须的
六、 构建项目出现的问题
1. 每次重新构建项目,都会新创建一个镜像文件
2. 如果构建镜像文件时,指定的name和标签与原来的镜像一样,则原来的镜像不会删除,会被更名为<none>:<none> 的镜像文件
# 已找到相关命令解决上面两个问题, 在创建相同名称的新镜像文件时,避免旧镜像残留 # 可以先删除旧镜像文件 docker rmi -f <name>:<tag> # 当前命令可以强制删除指定名称和tag的镜像文件
七、删除容器、删除镜像文件
# 删除运行的容器 docker rm -f <name> # -f 强制删除,如果容器正在运行也会被删除 # -v 删除当前容器挂载的数据卷 # 删除所有没有运行的容器 docker rm $(docker ps -a -q) # 删除本地镜像文件 docker rmi -f <name>:<tag>
八、镜像仓库地址
1、ubuntu + nginx + php-fpm7.4 版本的运行环境
命令拉取镜像:
docker pull freedomx20/nginx-fpm7.4:1.0
docker镜像仓库:
Docker Hub (ubuntu + nginx + php-fpm7.4 环境)https://hub.docker.com/r/freedomx20/nginx-fpm7.4
更多相关内容 -
前端本地启动php项目流程
2020-10-23 00:18:54前端本地启动php项目步骤git clone项目到本地项目目录下 执行 composer install安装依赖安装composer执行 php artisan serve启动项目配置信息.env文件放到项目根目录下phpStudy调整配置信息 最近接手一个保险站点...前端本地启动php项目
最近接手一个保险站点项目,原本用vue,nuxt开发页面,node,egg开发后端接口,但是据说几个月时间百度收录只有10个,
后面改为php,laravel渲染,不到一个星期,百度收录到30+了
这里记录下
本地跑php项目流程
项目站点
正式线地址
如下
吃个保险瓜-汇聚保险精选、理赔案例、保险资讯的综合门户步骤
git clone项目到本地
项目目录下 执行 composer install安装依赖
Composer 是 PHP 的一个依赖管理工具。
这时正常会报错,因为前端一般不会有安装composer
安装composer
安装
composer
之前,先安装一下phpstudy
phpStudy-安装地址安装好phpStudy后,安装到本地,
安装后文件夹如下
打开后如下界面
这时我们通过phpStudy来安装composer
安装后路径如下
这时需要我们配置环境变量
一个是php(安装了phpStudy后,默认会有php)
我的路径如下
C:\D\downLoad\php\phpstudy_pro\Extensions\php\php7.3.4nts
一个是composer
我的路径如下
C:\D\downLoad\php\phpstudy_pro\Extensions\composer1.8.5
这时就可以正常执行
composer install
了
执行 php artisan serve启动项目
这时还是会报错,需要配置一些信息
配置信息
配置这一块如果照着做,还是没法正常启动项目的话,就得找php大神出手了
.env文件放到项目根目录下
.env这个是配置文件,由php开发提供,放到项目根目录下
.env内容如下APP_NAME=吃个保险瓜 APP_ENV=local APP_KEY=base64:Q6Yc0wcw7GIs++OajFFFFPLLLLuSlGuTszS4csksDLh4= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=pgsql DB_HOST=120.55.114.212 DB_PORT=5432 DB_DATABASE=station DB_USERNAME=postgres DB_PASSWORD=wz.8-infinite BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
phpStudy调整配置信息
修改如下,红色框那一行去掉了前面的代码,
php扩展这里对应几个配置得勾选上
然后就可以正常通过php artisan serve
启动项目了,
如下
通过http://127.0.0.1:8000
访问本地项目站点正式线地址如下
吃个保险瓜-汇聚保险精选、理赔案例、保险资讯的综合门户
谢谢你阅读到了最后~
期待你关注、收藏、评论、点赞~
-
PhpStudy导入php项目及运行php项目
2020-06-15 20:40:48本文适合那些有php项目的,却不知道怎么导入及运行的小白。 首先有挺多软件可以运行php项目的,有PhpStudy、Wampserver、PhpStorm、XAMPP等。这几个,笔者都下载了,运行发现还是PhpStudy这个软件最简单粗暴,最好用...一:前言
今天笔者弄到了一份图书管理系统的php源码,然后想用PhpStudy运行这个项目。搜了发现网上一堆教程都是差不多一样,好几个内容一样还标注是原创,笔者无语了,还有就是版本有些旧了,内容部分与新版有些差异。所以,笔者现在来写个新的版本。
本文适合那些有php项目的,却不知道怎么导入及运行的小白。
首先有挺多软件可以运行php项目的,有PhpStudy、Wampserver、PhpStorm、XAMPP等。这几个,笔者都下载了,运行发现还是PhpStudy这个软件最简单粗暴,最好用,爱了爱了。所以,笔者用PhpStudy这软件来导入并运行Php项目。
这PhpStudy宣传语句,所以,配置环境困难党和操作困难党的福利啊!
操作环境:win10、phpStudy v8.1(64位)二:操作
1.首先去官网下载软件:https://www.xp.cn/
选对应操作系统,笔者是win64的
点链接,就会自动下载安装包的。
2.安装
解压然后点那个可执行文件
安装就是下一步、下一步、下一步
成功效果
3.放项目代码
进WWW文件夹
创建一个文件夹,我创建的叫booktest
将源代码压缩包复制到booktest文件夹下,并解压
这是解压之后的效果
4.配置数据库环境
打开phpstudy软件,先修改端口号,因为这软件自带了一个mysql,会和笔者在本地之前安装的冲突mysql冲突。
点配置
3306改成3305
创建数据库(这数据库文件是源代码有的)
先启动mysql(端口号改了再启动,记得记得啊。如果改了,这一步还启动不了,就去(我的电脑)–>(右键点服务)–>(点服务和应用程序下的服务选项)–>(名称那里搜索mysql57,笔者是mysql57,反正绝对是5,5几就不确定。)–>(右键点启动)–>(OK,启动成功,继续执行下列步骤。))
填信息
导入sql文件
点浏览
进刚刚创建的booktest文件找sql语句
打开,导入,数据库创建完毕。5.配置web环境
先启动web
然后创建网站(域名那里book可以换成其它,那个www和com尽量不要改。还有那个根目录,就是那个创建的booktest文件,浏览点到那个目录就好了,根目录后面不要加域名。那个同步到host记得打勾。)
6.运行项目
点那两个按键重启。
进浏览器输入刚刚设置的域名。
三:尾言
本教程适合那些有php源码,却不懂php的小白运行操作。
-
Apache部署PHP项目(最完整详细的Apache+PHP项目根目录部署)
2020-05-11 20:09:23下载PHP压缩包,地址:https://windows.php.net/download,(一定要下载Thread Safe版本) 修改"D:\software\Apache24\ conf\httpd.conf "文件,末尾添加对PHP的支持及PHP的安装路径 # php7 support LoadModule ...目录
下载Apache和PHP
-
下载Apache,地址:http://www.apachelounge.com/download/,如下图:
-
将下载的压缩包解压到某个文件夹(比如:D:\software), 将解压后的文件夹重命名为Apache24
-
下载PHP压缩包,地址:https://windows.php.net/download,(一定要下载Thread Safe版本)
-
将下载的压缩包解压到某个文件夹(比如:D:\software), 将解压后的文件夹重命名为php-7.4.5
配置Apache
- 修改"D:\software\Apache24\ conf\httpd.conf "文件,修改SRVROOT
为Apache根目录
# # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non-local disk, be sure to specify a local disk on the # Mutex directive, if file-based mutexes are used. If you wish to share the # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # Define SRVROOT "D:\software\Apache24" ServerRoot "${SRVROOT}"
- 修改"D:\software\Apache24\ conf\httpd.conf "文件,末尾添加对PHP的支持及PHP的安装路径
# php7 support LoadModule php7_module "D:/software/php-7.4.5/php7apache2_4.dll" AddType application/x-httpd-php .php .html .htm # configure the path to php.ini PHPIniDir "D:/software/php-7.4.5"
- 修改"D:\software\Apache24\ conf\httpd.conf "文件,开启 rewrite 功能:将下面这行代码前面的 # 去掉:
LoadModule rewrite_module modules/mod_rewrite.so
配置PHP
- 将 PHP 的根目录下的 php.ini-development 或者 php.ini-production复制一份并改名为 php.ini,作为PHP的配置文件,取消extension_dir的注释,即删除前面的";"
extension_dir = "ext"
- 修改php.ini文件,设置默认的时区:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone 选择时区列表网址 date.timezone = Asia/Shanghai
- 修改php.ini文件,设置 ssl :
[openssl] ; The location of a Certificate Authority (CA) file on the local filesystem ; to use when verifying the identity of SSL/TLS peers. Most users should ; not specify a value for this directive as PHP will attempt to use the ; OS-managed cert stores in its absence. If specified, this value may still ; be overridden on a per-stream basis via the "cafile" SSL stream context ; option. openssl.cafile= cacert.pem
- 修改php.ini文件,修改需要加载的扩展文件,下面代码是取消部分扩展程序的注释之后的代码(直接复制到php.ini文件即可):
extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll extension=php_pgsql.dll ;extension=php_shmop.dll ; The MIBS data available in the PHP distribution must be installed. ; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll
配置环境变量
右键我的电脑,属性->高级,找到最下面的环境变量按钮,选中当前用户的PATH变量,编辑新建分别添加以下环境变量:
D:\software\Apache24\bin
D:\software\php-7.4.5
D:\software\php-7.4.5\ext
使用Apache部署php项目
- 修改"D:\software\Apache24\ conf\httpd.conf "文件,添加监听项目端口(比如:8888)
# # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 #Listen 80 Listen 88 Listen 8888
- 修改"D:\software\Apache24\ conf\httpd.conf "文件,添加服务端口(比如:8888)
# # ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If your host doesn't have a registered DNS name, enter its IP address here. # #ServerName localhost:80 ServerName localhost:88 ServerName localhost:8888
- 修改"D:\software\Apache24\ conf\httpd.conf "文件,取消Include conf/extra/httpd-vhosts.conf的注释
# Real-time info on requests and configuration Include conf/extra/httpd-info.conf # Virtual hosts Include conf/extra/httpd-vhosts.conf # Local access to the Apache HTTP Server Manual #Include conf/extra/httpd-manual.conf
- 在"I:/web/php" 目录(此目录也可为你PHP项目的根目录)下新建index.php文件内容如下
<?php phpinfo(); ?>
- 修改"D:\software\Apache24\ conf\extra\httpd-vhosts.conf "文件,在文件末尾添加以下内容
# I:/web/php是项目目录 <VirtualHost _default_:8888> DocumentRoot "I:/web/php" <Directory "I:/web/php"> Options All AllowOverride All Require all granted </Directory> </VirtualHost>
启动Apache服务
以管理员身份打开cmd命令行,输入下列命令重启Apache服务,之后在浏览器进入此链接http://localhost:8888/index.php即可看到如下效果
(初次启动服务需要install命令,后面修改Apache配置文件后只需要运行restart命令即可)httpd.exe -k install httpd.exe -k restart
PS:- 修改Apache配置文件后需要运行httpd.exe -k restart命令重启Apache
- 在命令行输入httpd -t,可以查看是不是Apache的启动问题
- 如果报错说无法加载php7apache2_4.dll文件,说明下载的PHP版本不对,应该下载Thread safe版本
参考文献:
https://blog.csdn.net/galen2016/article/details/80778662
https://blog.csdn.net/weixin_39082031/article/details/79110311 -
-
PHP项目目录结构
2020-03-02 11:09:53一个完整的项目需要有三大部分构成,项目框架,业务实现,公共支持 -
一个完整的php项目示例
2021-04-12 09:46:31在看本篇文章之前,请确保您已经完全安装成功了php的开发环境,如有疑问,可以参考我的前一篇文章。本篇将介绍一个php的完整示例:99Pursey。这个完整的代码可以在google上下载到,也可以到我的资源里面去下载,这是... -
运行PHP项目(phpstorm+wampserver)
2021-03-22 21:08:01第一次运行PHP项目(phpstorm+wampserver)1、配置环境1)vcredist_x64,wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b,如下图1(1)安装vcredist_x64(2)安装wampserver2.5-Apache-2.4.9-Mysql-5.6.17-... -
vscode配置运行php项目完整版
2021-11-11 22:33:19第一步,下载PHP php官网地址 windows 下载直接解压即可 liunx请自行csdn搜索教程 第二步,下载code插件 1. PHP Debug 控制台debug 配置 路径为PHP解压后的运行文件路径,代码放配置的根节点 ... -
宝塔部署php项目
2020-08-07 19:05:111,先登录【腾讯云】或者【阿里云】解析一个域名出来 2,登录宝塔 3,网站,添加站点 4,文件,上传压缩包,解压到指定目录下 ... 6,设置网站目录 ...7,设置PHP版本 8,导入数据库(切记!!!) ... -
第一章 如何加载运行已发布的PHP项目
2021-04-30 04:16:42一.安装AppServ2.5.10参考安装文档...下载项目到http://www.comsenz.com下载免费开源项目Discuz_7.2_FULL_SC_GBK.zipa.把解压后的目录中的upload文件拷贝到D:\AppServ\www,并改名为discuzusername: admin passwo... -
实战突击 PHP项目开发案例整合.pdf
2013-03-08 15:33:19明日科技等编著的《实战突击:PHP项目开发案例整合(附光盘)》以会议记录管理系统、留言本、在线投票系统、个人网络日记、在线论坛、博客、物流管理系统、在线考试管理系统、明日编程词典、明日科技企业网站、明日... -
docker部署PHP项目
2020-04-09 13:24:08docker部署web项目需要用到几个服务:php,nginx等等。目前本文只用了nginx和php。 首先是拉取镜像 docker pull php:5.6-fpm docker pull nginx 启动之前先创建一个docker网络,使用docker来连接多个容器。 docker ... -
IntelliJ IDEA 2019 创建php项目
2020-03-02 11:09:35今天分享下 —— IntelliJ IDEA 2019 创建php项目 的一些基本知识,欢迎关注!请先阅读历史文章,传送门: IntelliJ IDEA 2019 配置PHP开发环境 创建PHP项目 首先打开 Idea => file => new => porject ... -
linux下如何部署php项目?
2018-07-20 11:08:00linux下部署php项目环境可以分为两种,一种使用Apache,php,mysql的压缩包安装,一种用yum命令进行安装。 使用三种软件的压缩包进行安装,需要手动配置三者之间的关系。apache和php之间的配置没有什么难度,但是... -
IDEA2019运行PHP项目
2020-03-18 21:06:51首先安装PHP和Apache见文章:PHP+Apache安装for windows -
宝塔PHP项目部署
2020-02-18 19:33:07在软件商店装上 PHP 并运行 在网站管理添加站点,设置 域名 和 根目录,设置 域名 时填写的端口就是将来该项目要使用的端口 如果部署多个项目,宝塔不允许创建多个相同域名,可以随便填,添加完再改回来,只要端口... -
IDEA配置PHP项目
2019-03-05 14:50:33一:电脑需要装redies插件,并启动redis插件 1、cmd命令启动D:\soft\redis redis-server.exe redis.windows.conf ... 5、配置phpUnit File->settings->language&framework->php->Test Frrameworks -
十分钟学会在phpstudy上快速搭建环境,开发php项目
2021-01-25 20:48:36首先:下载一个小皮板(phpstudy) 附上小皮版官网链接 下载完成后打开软件如下如: 注:博主本身用的是phpstudy2020 常用到的软件都可以在软件管理...在安装好php后,我们就简单的搭建好了,开发php项目用到apach -
NetBeans PHP 项目创建
2019-04-04 18:24:18开发环境:NetBeans ... 由于我是用NetBeans来进行php的开发,为了方便我选择了所有功能的版本。 下载完成后,按照提示进行安装,配置好java sdk ,Glassfish,...打开NetBeans,点击新建项目,选择类别为php,项目... -
在windows上部署php项目
2020-01-03 17:03:22需要的工具 ... 4、利用git将项目源码clone到 WWW文件夹里面 例如: E:\phpstudy_pro\WWW php安装文件下的WWW文件夹 5、打开PHPstudy安装apache、MySQL、文件服务、数据库。 6、将sql文件导入到... -
PHP项目Docker化指南
2017-12-18 09:21:38作为专业Docker实践者针对php语言的发言。 -
使用phpstorm自带服务器运行php项目
2019-08-27 21:46:12首先使用phpstorm打开项目 然后菜单栏file-->settings-->languages&framework 先点击php,然后点击cli interpreter后面的三个点,弹出的新窗口(name随便起一个)executable中选择本地php目录下的... -
tomcat中运行PHP项目
2017-07-13 16:57:43这一章的内容需要有服务器配合,而书上给出的服务器代码是PHP写的。这可把我愁坏了,我一直学习的是Java语言,对PHP一点了解也没有。 解决过程:遇到了问题就解决问题,我懒得照着书上再写一遍PHP代码了,直接... -
PHP 项目目录结构
2017-12-02 12:01:26shopcz 1、application //应用程序目录 config //配置文件目录 controllers //控制器目录 admin //后台控制器目录 home //前台控制器目录 ...4、index.php //入口文件 -
php-fpm 加 Nginx 部署PHP项目到linux服务器
2018-03-02 15:56:06Nginx安装手动安装按请参考这个博客:http://blog.csdn.net/qq_27292113/article/details/78189500 在centos7.2的系统下安装nginx和php-fpmnginx安装yum install -y nginxps:这个我没试过。 php-fpm安装yum ... -
PHP项目的发布(部署)
2018-06-15 08:50:35在apache中Php项目部署很简单,只需将php项目放入Apache访问目录中就可以访问了。 修改Apache访问目录方法: 1、到Apache的安装目录下找到conf文件夹,该文件夹内会httpd.conf这样一个文本文档,它是Apache的配置... -
centos7下部署运行一个php项目
2018-11-12 15:42:30这个网站是用php开发的,以前没有接触过php,那么就那这个项目开刀,先将它部署,也记录一下我遇到的问题,大家少走弯路。 Nginx + php-fpm +centos7 首先我先要在chrome上打开,但是服务器站点部署在linux上,而... -
CentOS 7部署PHP项目
2018-07-23 15:47:05目录 一、安装nginx(自动) ...六、项目测试部署 写在前面:本文编辑服务器文件使用的是editplus工具 一、安装nginx(自动) 添加nginx源 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-r... -
PHP项目部署的正确姿势
2019-03-06 20:11:07参考链接: https://www.cnblogs.com/cyun/p/4146131.html https://blog.csdn.net/weixin_39666151/article/details/81167177 不再赘述!