php项目部署

解决在iis上搭建php程序

网站搭建上跟搭asp程序是一样的,php程序需要在iis上配置一些其他的东西。

1.首先下载一个php5.25,下载后解压安装,注意安装路径最好不要有中文或者括号,因为这样程序可能

会找不到路径。打开iis,点击处理程序映射在里面配置参数如下图:

2.下载mysql和mysql的可视化工具 在php程序中找到 common.inc.php 文件,配置里面数据库连接的参数。

php.ini这个文件可能会出错,到时更改这条数据extension_dir = "D:\php5.25\php-5.2.5\ext" 让extension_dir的路径指向ext文件夹即可。

展开
收起

CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境

我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一。所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们常用的WEB环境。对于大部分同学来说,我们会选择采用WEB面板或者是一键包安装,但是一键包或者面板也是有一些缺陷的,比如有些软件我们并不需要安装。

或者说,对于我们深入学习Linux系统的用户来说,肯定是需要一步步编译安装,这样才知道其中的原理。在这篇文章中,我们将在CentOS6系统中(CentOS7感觉不适特别好用)编译部署LAMP。如果我们觉得有需要的可以参考。如果我们真用于生产环境的,建议对于脚本操作比较熟悉的再使用。

第一、升级最新源

yum update -y

我们在拿到Linux服务器之后可以安装CentOS系统,这里我安装的是CentOS6版本,建议64位系统。如果我们有必要的话也可以修改别名,如果不修改也没事。

第二、Apache引擎部署

1、安装Apache2

yum install httpd -y

2、修改配置文件(/etc/httpd/conf/httpd.conf)

这里我们需要根据服务器的配置进行简单的参数修改。这里我使用的是2GB内存的,所以如下:

KeepAlive Off

...

<IfModule prefork.c>

StartServers 4

MinSpareServers 20

MaxSpareServers 40

MaxClients 200

MaxRequestsPerChild 4500

</IfModule>

第三、设置Apache主机账户

1、创建配置文件

在/etc/httpd/conf.d目录中创建vhost.conf。

NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin webmaster@imbwh.com

ServerName imbwh.com

ServerAlias www.imbwh.com

DocumentRoot /var/www/imbwh.com/public_html/

ErrorLog /var/www/imbwh.com/logs/error.log

CustomLog /var/www/imbwh.com/logs/access.log combined

</VirtualHost>

这里我们需要将"imbwh.com"域名修改成我们自己需要的。

2、创建网站目录

mkdir -p /var/www/imbwh.com/public_html

mkdir /var/www/imbwh.com/logs

给网站创建存放文件目录,这里需要将"imbwh.com"修改成自己的域名。

3、启动生效

service httpd start

/sbin/chkconfig --levels 235 httpd on

第四、安装MySQL数据库

1、安装数据库

yum install mysql-server -y

2、启动数据库

service mysqld start

/sbin/chkconfig --levels 235 mysqld on

3、设置数据库安全选项

mysql_secure_installation

根据向导设置数据库密码和一些默认配置。

第五、创建数据库账户

这里我们需要给网站项目创建数据库。

mysql -u root -p

登入数据库管理,这里密码是我们上面设置的。

create database imbwh;

grant all on imbwh.* to 'imbwh' identified by 'imbwh.com';

根据实际需要设置数据库用户名(imbwh)和密码(imbwh.com)。

quit

退出MySQL数据库管理。

第六、PHP环境安装和配置

1、安装PHP

yum install php php-pear php-mysql -y

2、修改配置文件

/etc/php.ini

根据我们服务器的配置修改文件参数。在这里我提到是用的2GB内存服务器,所以配置修改:

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

error_log = /var/log/php/error.log

max_input_time = 30

根据我们实际的配置微调。

3、创建PHP日志文件目录

mkdir /var/log/php

chown apache /var/log/php

4、启动

service httpd restart

这样,我们就在当前CentOS服务器中创建完毕LAMP环境。

本文来自搬瓦工VPS中文网:https://www.imbwh.com/67.html

展开
收起

windows服务器使用nginx来部署web环境,弃用iis支持php的方法

Windows上使用nginx作为web服务器时,我们的php环境就需要借助第三方的插件来启动,在windows服务器上nginx现在还没有启动php的功能,nginx不像iis那样只要iis和php绑定成功,iis启动时php也就会跟着启动,nginx现在支持单独在windows系统上独立启动,但是还不支持启动php,我们今天的课题就是在Windows系统上独立启动php。

nginx

开始之前首先必须要确认:

①php已经正确的安装,php.ini已经正确配置完成;②nginx已经正确安装并且nginx.conf正确配置完毕。说明:nginx安装路径为D:\nginx,php安装路径为D:\php(根据您自己的路径进入php的安装目录),我的php和nginx均安装在D盘根目录。

需要的插件有①RunHiddenConsole和②xxfpm这两个,RunHiddenConsole用来启动Windows系统下的php,即启动php的fastcgi.xe程序;xxfpm则用来维持php进程不会自动退出,使php保持在后台稳定运行。RunHiddenConsole下载地址:

RunHiddenConsole下载

xxfpm下载地址:

xxfpm下载

下载完毕后将这2个插件上传到服务器,解压缩RunHiddenConsole得到RunHiddenConsole.exe文件,将RunHiddenConsole.exe拷贝到nginx安装目录D:\nginx文件夹里面;在nginx的安装目录(D:\nginx)下新建名为xxfpm的文件夹,解压缩xxfpm,将解压得到xxfpm文件夹里面的bin和src文件夹这2个文件夹拷贝到D:\nginx\xxfpm文件夹内,xxfpm文件夹内的东西如下图:

文件结构

编写启动php代码

打开记事本,输入以下代码,将其以bat格式保存到nginx的安装目录D:\nginx文件夹内,名称为start_php.bat,注意格式一定是.bat的。

@echo offREM Windows 下无效REM set PHP_FCGI_CHILDREN=2REM 每个进程处理的最大请求数,或设置为 Windows 环境变量set PHP_FCGI_MAX_REQUESTS=1000echo Starting PHP FastCGI……RunHiddenConsole D:/nginx/xxfpm/bin/xxfpm.exe "D:/php/php-cgi.exe -c D:/php/php.ini" -n 2 -i 127.0.0.1 -p 9000exit

上面代码截图如下,需要注意最后一行exit前面一行不是两行代码,代码截图显示:

代码截图

将上面代码保后截图:

start_php

到此启动php的程序安装就全部结束了,双击nginx安装目录下我们编写的start_php.bat即可启动php,打开任务管理器,可以看到有2个CGI/fastcgi进程。下图所示的进程你使用右键结束的方式是关闭不了的,点其中一个结束进程,你会发现立即又自动除了一个,这样就可以保证fastcgi在服务器上稳定运行不会自动退出了。

php进程

fastcgi进程个数修改

这个在前面我们的启动代码里面有REM set PHP_FCGI_CHILDREN=2,其中的数字2是启动2个php进程的意思,和后面的-n 2 要保持数字一致。只需将这两处的数字修改为你想要的即可,截图显示更明确:

修改cgi进程个数

D:/nginx/xxfpm/bin/xxfpm.exe 这是xxfpm的路径。D:/php/php-cgi.exe -c D:/php/php.ini这是php的安装路径和php.ini的路径,如果您的路径不是这样的记得修改为对应的路径即可。那个数字9000是监听php端口,不要做修改。这样保证了php可以在后台稳定运行了,有时候需要结束怎么办,我们继续编写一个结束运行的的代码。

编写退出nginx+php代码

但是这样关闭不了一直运行也不是绝对的好事,如果想要关闭怎么办,请打开记事本输入以下代码,将其以bat格式保存到nginx的安装目录D:\nginx文件夹内,命名为stop_php+nginx.bat文件,需要关闭php的时候双击这个文件即可退出php和nginx了。为了方便,结束php进程时同时把nginx也关闭掉,方便一键启动,代码如下。

echo Stopping nginx... taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe > nultaskkill /F /IM xxfpm.exe > nulexit

将上面的代码按照前面说的路径保存后,双击此文件即可结束php和nginx进程。完整文件如下图所示,我们将启动和结束代码和放在nginx文件夹内,主要是为了启动和结束都方便。

启动结束

结束代码解释:这个stop_php+nginx.bat文件里面的taskkill /F /IM nginx.exe > nul这一行是退出nginx的意思,后面分别是退出fastcgi,关闭php-cgi.exe进程,关闭xxfpm.exe进程,直接复制过去就可以不用做修改,放在nginx安装目录下的原因是方便使用,启动nginx只需要双击nginx.exe即可。

到此Windows系统上安装php+nginx的环境部署和相关配置算是真正的完成了,本文相关软件和配置文件没有的话可以问我。使用nginx而不用iis的原因是iis不安全,太容易被挂马。

展开
收起

怎么搭建php环境?

一些初学者可能还不知道怎么搭建php环境,笔者就遇到很多小白,前台,后台混不清是什么。为什么需要后台,添加文章的原理是什么。

php环境

今天笔者就介绍一下怎么搭建php环境,让本地运行调试代码。有两种途径,一个是单独安装,还有个就是安装集成包。笔者今天要介绍的就是用集成环境,笔者觉得这样的效率比较高。虽然从安全性方面,单独安全的安全性更好。感兴趣的朋友可以去试试。

wamp集成包

一般笔者安装的是wamp或者phpstudy都是一键式安装。默认数据库的密码是空或者123456,然后把代码放在wamp里面www的目录。通过127.0.0.1或者localhost后面跟上你的文件夹路径就可以访问调试了。

一般服务器环境是linux或者window。liunx的安全性更好,同样的配置linux的效率也高一些。对于网站安全要求比较高的可以去研究一下liunx系统。

linux

在使用过程中遇到问题欢迎留言咨询。

展开
收起

thinkphp如何本地部署windows平台

这里是义县游学电子科技为您带来目前thinkphp出现了6版本,那我这里以thinkphp5作为示例为大家介绍下如何在windows本机部署和访问使用.

1.下载本地web服务器集成环境.phpstudy8.1.0.7

打开服务器虚拟主机配置文件,把thinkphp要求的public目录写到root项

2.将thinkphp下载后解压到www根目录,如下图

解压后打开启动web服务器和浏览器输入:

http://localhost/index.php/index/index/index,应该可以看到thinkphp欢迎界面.

这里解释下index.php是入口文件,然后index/index/index是模块,控制器,类方法函数.

3.接着你就可以通过写自己的view文件模板进行设计网站了.view目录存放controller控制器的index类方法对应的模板

这只是一个简单的介绍,没什么太大功能,希望新手入门用了.

展开
收起

PHP环境部署伪静态教程

PHP伪静态

前言

在用PHP语言开发网站的时候,伪静态是一个绕不过去的一道坎,在PHP中设置伪静态对于老手来说是手到擒来,但是对于新手来说稍微有点难度,还没有掌握的小伙伴们不要着急,下面跟着小编一起来学习吧。

正文

一、Apache的伪静态配置

1、网站根目录下需要有 .htaccess 文件,没有则自己创建一个,内容为

<IfModule mod_rewrite.c>  RewriteEngine on  RewriteCond %{REQUEST_FILENAME} !-d  RewriteCond %{REQUEST_FILENAME} !-f  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]  </IfModule>如果你的apache是fastcgi模式下,则需要修改

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]替换成  RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

2、在apache的配置文件httpd.conf中查找 : LoadModule rewrite_module modules/mod_rewrite.so 将前面的#去掉,假如没有这段内容,则需要手动加上3、在apache的配置文件httpd.conf中查找所有的 AllowOverride None,将 None 都替换成 All . 保存文件 并重启apache服务。

二、Nginx的伪静态配置找到nginx的配置文件 nginx.conf, 在里面的 server{ } 里增加以下内容

location / {if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }

重启nginx即可生效

三、IIS的伪静态配置如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:

RewriteRule (.*)$ /index\.php\?s=$1 [I]

在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:

<rewrite><rules>  <rule name="OrgPage" stopProcessing="true">  <match url="^(.*)$" />  <conditions logicalGrouping="MatchAll">  <add input="{HTTP_HOST}" pattern="^(.*)$" />  <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />  <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />  </conditions>  <action type="Rewrite" url="index.php/{R:1}" />  </rule>  </rules>  </rewrite>

结尾

通过本文的学习各位小伙伴们对于PHP中如何设置伪静态是不是学会了,那好以后还需要小伙伴们自己多多练习探索啊。

展开
收起

docker从入门到部署一个lnmp项目

2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?今天通过一个简单的LNMP项目架构部署环节让大家让了解docker的使用方法,所有的软装按照均采用docker部署。

第一步、centos7安装docker

1.1如果之前安装过docker,卸载旧版本

yum remove docker docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-selinux \

docker-engine-selinux \

docker-engine

1.2安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

1.3添加软件源信息(可选)

yum-config-manager --add-repo http//mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.4更新yum包缓存(可选)

yum makecache fast

1.5安装docker-ce

yum -y install docker-ce

1.6启动docker后台服务及开机启动

systemctl enable docker && systemctl start docker

1.7docker相关配置

# CentOS7的Docker默认存储路径修改

vi /usr/lib/systemd/system/docker.service

# 找到以下内容

ExecStart=/usr/bin/dockerd-current \

# -g 或 --graph 或 --data-root,插入或修改后保存

-g /datadisk/docker/data

# 修改后需要重载设置

systemctl daemon-reload

#配置镜像加速

[root@localhost ~]# mkdir -p /etc/docker

[root@localhost ~]# vim /etc/docker/daemon.json

在文件中添加如下配置

#阿里云镜像加速器

{"registry-mirrors": ["http://hub-mirror.c.163.com"] }

[root@localhost ~]# systemctl daemon-reload

[root@localhost ~]# systemctl restart docker

1.8查看docker版本

docker version

1.9运行 hello-world

docker run hello-world

1.10卸载删除docker-ce

[root@localhost ~]# systemctl stop docker

[root@localhost ~]# yum -y remove docker-ce

[root@localhost ~]# rm -rf /var/lib/docker

第二步、Docker安装部署Nginx

2.1拉取官方的最新版本的镜像

docker pull nginx:latest

2.2拉取官方的最新版本的镜像

docker pull nginx:latest

2.3docker命令查看是否已安装了 nginx

docker images

#在上图中可以看到我们已经安装了最新版本(latest)的 nginx 镜像。

2.4安装完成后,运行 nginx 容器

docker run --name nginx-test -p 8081:80 -d nginx

#参数说明:

--name nginx-test:容器名称。

-p 8081:80: 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。

-d nginx: 设置容器在在后台一直运行。

2.5检查nginx 容器是否运行成功

docker container ls

#说明

如果安装成功,是可以看到name为nginx-test已经存在运行列表中,期间如果我们想修改端口,重新运行容器的话

要先终止,在删除

docker container kill [containID]

docker container rm[containID]

最后我们可以通过浏览器可以直接访问 IP地址:8081,检查nginx 服务是否开启。

2.6查看容器中nginx的配置文件目录

docker exec nginx-prod ls /etc/nginx

2.7复制容器内的配置文件到宿主机

如果你不想复制整个文件夹,可仅复制conf.d文件夹内的配置文件,运行时挂载相应文件即可

docker cp -a nginx-prod:/etc/nginx/ /srv/nginx/conf

nginx-prod依然是你的容器运行名称

2.8停止Nginx容器并删除

我们要重新运行容器,挂载配置文件,那么这个容器就没用了,需要停止再删除

docker stop nginx-prod

docker rm nginx-prod

nginx-prod依然是你的容器运行名称,或者也可以用下面方式

docker container kill [containID]

docker container rm[containID]

2.9重新运行容器,并挂载我们在2.7步复制出来的配置文件目录

docker run -p 8081:80 --restart always --name nginx-prod -v /srv/nginx/www:/www -v /srv/nginx/conf/:/etc/nginx/ -v /srv/nginx/logs:/var/log/nginx -v /srv/nginx/wwwlogs:/wwwlogs -d nginx

--restart always :无论退出状态是如何,都重启容器

-v:挂载命令,主机目录:容器目录,当然你如果不想挂载那么多,只挂载配置文件也行,注意,这个时候你需要复制一份项目目录到容器中去

所以,/srv/nginx/www:/www这个挂载的作用就是把你主机项目文件夹挂载到容器中,然后再在主机配置文件nginx.conf中,设置root /www即可

最后强调下,挂载的配置文件中设置的根目录不是宿主机的目录,而是容器的根目录。

推荐挂载宿主机总目录到容器总目录,如:-v /data/www:/www

2.10修改配置文件,重启Nginx

到此Nginx已安装完成,如有需要就直接修改/srv/nginx/conf/conf.d目录下的配置文件,然后重启Nginx容器即可生效

docker restart nginx-prod

第三步、Docker安装部署PHP7

3.1拉取官方的PHP7.2.25镜像

查找 Docker Hub 上的 php 镜像:

可以通过 Sort by 查看其他版本的 php,默认是最新版本 php:latest。此外,我们还可以用 docker search php 命令来查看可用版本。这里我们拉取官方的镜像,标签为7.2.25-fpm

docker pull php:7.2.25-fpm

3.2检查PHP7.2.25镜像

docker images

3.3运行PHP镜像

docker run --name php7 -v /data/www:/www -d php:7.2.25-fpm

3.4测试PHP环境是否安装成功

首先在宿主机/data/www/test/目录下,新增test.php文件

#为什么我们要在/data/www/test目录下新增test.php文件,因为我在文件/srv/nginx/conf/conf.d/default.conf中

设置的root /www/test,而我挂载的项目根目录是-v /data/www:/www,所以宿主机的/data/www/test目录正是对应/www/test目录

然后在浏览器运行ip:8081/test.php

第四步、Docker安装部署MySQL

4.1拉取官方的MySQL8.0.18镜像

拉取MySQL镜像,可参照PHP的方法,在 Docker Hub 上的 查找你需要的MySQL 镜像:

docker pull mysql:8.0.18

4.2查看本地镜像

docker images

4.3运行MySQL容器

安装完成后,我们可以使用以下命令来运行 mysql 容器

docker run -itd --name mysql-prod -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.18

4.4容器机登录MySQL

容器可以通过 root 和密码 123456 访问 MySQL 服务

mysql -h localhost -u root -p

至此,LNMP所有的软件已全部使用Docker安装完成,文章有些样式不支持就删除了,本文更多详情请浏览雷小天博客。

展开
收起

部署PHP接口服务器API,采用Lumen的框架,Linux服务器

Lumen为速度而生的 Laravel 框架,是Laravel框架的精简版,我们也可以通过需求再做扩展,我们平常制作API接口服务器首先。

首先,搭建API服务器

我们用的是OneinStack,所以新增虚拟主机比较方便。

cd /root/oneinstack./vhost.sh

然后根据提示操作下即可。

下载Lumen,新建一个项目

先cd到前面创建的站点目录下,然后执行下载命令

composer globalrequire"laravel/lumen-installer"下载Lumen的安装包

这个下载比较耗时,请耐心等待~

新建项目 api

composer create-project --prefer-dist laravel/lumen api

配置.env

主要配置APP_KEY、APP_URL

APP_KEY= ******* //随机32位字符APP_URL= ****** //你的主域名

这边还需要配置下数据库,然后执行下命令

php artisan cache:clear

写个测试路由

$router->get('/test', function (){return response()->json(["msg"=>"API URL TEST.","code"=>"000000"]);});

访问对应网址,获得如下参数

{"msg":"API URL TEST.","code":"000000"}

补充

接下你可以根据项目需要,自己补充路由和控制器,以及自定义中间件。

安装过程相对简单,如果遇到Linux安装超时报错的。

可以在自己的Win系统里面下载好,并创建好项目,然后再上传到服务器,并且设置入口到public,重启服务器就可以访问了~

展开
收起

快速搭建Apache+php部署环境,绝无废话

快速开始,绝无废话

我的linux服务器系统是CentOS 6.5

1,安装apache:

yum install httpd

apache的文件目录 /var/www/html

apache启动,停止,查看状态的命令:

service httpd startservice httpd stopservice httpd status

配置文件 /etc/httpd/conf/httpd.conf

修改端口(默认是80) Listen 8082

修改ServerName ServerName localhost:8082

测试,能出来页面OK了

2,安装php

yum install phpphp-devel

安装好后,php -v 查看一下

能出来版本说明ok

再重启一下apache

service httpd restart

写个php页面测试

在apache的文件目录 /var/www/html下,创建一个test.php

<?php echo "Hello world!"; ?><?php phpinfo(); ?>

保存后,回到浏览器测试

完成,

3,连接mysql

mysql的安装,略。公司有DBA,呵呵。

先安装php的扩展

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

安装完扩展之后需要再次重启apache

service httpd restart

测试mysql是否链接成功的php代码

<?php$servername = "localhost"; $username = "username";$password = "password"; $dbname = "数据库名"; $port = "端口"; // 创建连接$conn = new mysqli($servername, $username, $password, $dbname, $port); // 检测连接if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功";?>

完成。开始撸代码。

P.S:

吐槽一下,百家号这个编辑器,贴个代码是真费劲啊

展开
收起

PHP开发及部署(基础篇)

我们一直在倾听大家口述的故事,访谈时间也有最初的1个半小时拉长到平均5天,我们把能写的故事做成了类似《人物故事》专栏,同步更新在微博#我是社会人#,简书#树洞#专栏。说实话,并不是每个人的经历都能写成真正的故事,因为故事对人物要求太过丰满,丰满到每一个细节都需要价值观的转变和伏笔,所有故事场景都需要合并去重复,最终留下的故事寥寥无几。这些故事无一例外的反映了一个问题,生活手艺和平台的缺失。为了能弥补这一块内容,我们决定和大家一起学门手艺。在网站开发方面,我们主推PHP方面的知识。在职场学习方面,我们主推OFFICE系列相关知识。在赚钱生存方面,我们主推CFA系列相关知识。目前暂定三项,所有的这些都会收录在微博#有情调特爱学#话题中。想起自己毕业那会学C#的日日夜夜,甚是苦恼。由于当年从事WinForm方向,既不是APP也不是Web,所以错过了很好的Web井喷期红利,当年学习做Web开发的人,接的项目学的手艺,足以养活一家人了。为此,至今我都后悔不已。我想,只要移动互联不死,以后就应该是Web的天下了,因为大部分架构已从十年前的C/S架构转为B/S架构了,而WinForm方向早已转入企业级,.net (微软的产品)对运行库有强制性要求,这样就逼着开发者和甲方都需要安装这么庞大的运行库,费用也不低,虽说不上孰是孰非,但互联网轻度、快速开发应该是王道。PS:凑足300字申请原创,所有课程均免费,我们自行学习收费课程并经提炼、实践制作,如不反感,请帮忙转发, 并在微博上刺客_老莫 @戏子入画_夏雨 ,谢谢支持。

展开
收起