在Linux Debian 8下部署基于PHP的Web项目。

折腾了大半天,总算把项目部署到了服务器上,这里写一篇文章记录一下,当作做学习笔记,同时也给其他想要部署项目的朋友一点思路。目前Linux系统的分支比较多,我了解到的目前分为Debian、Ubuntu等和RedHat、centnOS等。他们的主要操作命令都一样,个别会有所区别,所以这个教程可能不太适用于centOS等一些系统,但应该有参考价值!

一、概览和准备工作

我的项目是一个简单的手机商城,前端就是HTML+CSS+JS,外加一个Jquery,只适配了PC端。后端使用了PHP和MySql。所以在服务器上就需要LAMP环境(我们常说的Linux+Apache+MySql+PHP,其他的还有LNMP环境,就是Web服务器换成Nginx)。

必要的准备工作

  • Xshell+Xftp软件
  • 一个云服务器
  • 已经完成的项目代码和数据库数据

二、购买云服务器

目前国内有很多提供商,阿里、腾讯云等等,大家买的时候可以买境外的,比如香港,这个不用备案(备案要花一定时间),自己斟酌就好。我目前买的Vultr的。服务器的购买大家在网上就可以找到答案,这里就不在做篇幅讲解了!

三、下载Xshell和Xftp

Xshell用来连接服务器进行操作的,Xftp用来传项目到服务器。目前连接服务器和上传文件有很多种,这里我选了简单些的,其他方法大家可以去找找。

这里我给一个度盘地址给大家,下载下来安装好即可。
Xshell和Xftp
提取码:mcnl

四、使用Xshell连接服务器

下载安装好Xshell,打开软件即可,然后点击文件-新建连接。
在Linux Debian 8下部署基于PHP的Web项目。
在主机部分输入你购买的服务器的ip地址,然后连接即可。
前面有个保存信息窗口,随便选一个就好,之后出现以下界面
在Linux Debian 8下部署基于PHP的Web项目。
这儿一般都为root用户名
确定后弹出以下窗口
在Linux Debian 8下部署基于PHP的Web项目。
这个地方输入云服务器提供的密码。成功后就会显示出如下的界面,当然各个服务器提供商会有所区别。
在Linux Debian 8下部署基于PHP的Web项目。

五、安装相关环境

5.1 更新系统相关软件包

注: 命令在刚才连接好的shell窗口输入

apt-get update -y && apt-get upgrade -y

这一步可以保证我们的系统的软件是最新的版本。

5.2 安装Apache

apt-get install apache2 -y

安装完过后重启一下Apache

systemctl restart apache2

重启Apache过后,不出意外,我们就可以在浏览器输入服务器的ip地址,就会看到默认的展示页面,默认情况下,Apache的入口目录在/var/www/html下,项目需要传到这个目录下才会生效,如果想要自定义自己的目录,可以按以下方法修改。

在命令窗口输入 cd /etc/apache2/sites-available 进入到这个目录,输入 ls 会看到一个 000-default.conf 的文件,使用以下命令来编辑改文件:vi 000-default.conf。(vi命令大家在网上查一下,这里不再赘述)。打开后再到 DocumentRoot /var/www/html 这行改成你想要的路径保存即可。改了过后记得重启一下Apache来使之生效。

  • 注:这里会涉及到部分Linux的命令,如新建文件夹,删除、移动文件这些,大家查资料就OK,不会特别复杂。
  • 网上有自定义的配置站点的方式,我试过但是没成功,所以采用了这种办法来改目录,如果大家有成功案例或者好的资料和方法,可以评论区分享下,谢谢!

5.3 安装MySQL数据库

apt-get install mysql-server -y

之后弹出如下页面
在Linux Debian 8下部署基于PHP的Web项目。
这里叫你输入密码,如果你不想设置密码一直回车就ok。


数据库先配置到这儿。后面还有导入数据。

5.4 安装PHP

apt-get install php5 php-pear -y

5.4.1 创建PHP日志目录,赋予Apache用户所有权

mkdir /var/log/php
chown www-data /var/log/php

5.4.2 安装支持MySQL的扩展

apt-get install php5-mysqlnd -y

  • 这个地方网上有不同的安装命令,如:apt-get install php5-mysql -y,据我测试这个扩展不支持mysqli_fetch_all()这样的函数。还有apt-get install php56w-mysqlnd -y这样的,但我没有测试,不知道效果。同时php5-mysql和php5-mysqlnd不能同时安装。

5.4.3 重启Apache

systemctl restart apache2

六、使用Xftp上传项目文件到服务器

安装好Xftp后,点击Xshell上的如图所示的图标
在Linux Debian 8下部署基于PHP的Web项目。
打开Xftp后会显示服务器的目录信息
在Linux Debian 8下部署基于PHP的Web项目。
在Linux Debian 8下部署基于PHP的Web项目。
之后把你选择好的项目文件拖到你的文件里面就OK了,我这儿是elmarket文件夹。结构如下所示
在Linux Debian 8下部署基于PHP的Web项目。

七、导入数据到MySQL数据库

在Shell窗口输入以下命令:mysql -u root -p < /var/www/elmarket/mysite.sql来导入数据库信息

  • -u 后面是你的数据库用户,我这儿默认是root,根据个人情况自行修改。
  • -p 是你的用户密码,我这儿没有密码,所以为空(其实这样不好,尽量设密码,还有账户最好不要用root)。
  • < 后面是你的数据库脚本的路径。

如果没报错就代表成功了。

八、其他补充

8.1 关于请求PHP文件报500的错误

如果php文件里面报错,默认情况浏览器会反馈500错误,看不到错误信息。这里给大家一个设置方式,使浏览器可以返回错误信息。

输入 cd /etc/php5/apache2,输入 ls可以看到php.ini文件,使用 vi php.ini 打开该文件并找到display_errors = Off将其改为On,之后重启Apache服务器。这样我们就可以看到报错信息了。

8.2 常用的命令

  • mysql -V 查看mysql版本
  • php -v 查看php版本
  • php -m 查看php扩展
  • apache2 -v 查看Apache版本

8.3 服务器ip绑定到域名

域名楼主我买的阿里的域名,这个不复杂,大家到阿里购买即可,操作都非常简单。


如有错误请大家多多指正,最后上一张效果图,仿魅族的手机商城。

在Linux Debian 8下部署基于PHP的Web项目。

相关推荐