【转】阿里云搭建php开发环境并部署Web应用
原博文链接:https://blog.csdn.net/zhonglunshun/article/details/91366460
1、在访问ip地址之前,一定要在阿里云上面配置安全规则,开放80端口(apache httpd的默认端口为80)
2、原博主用于测试环境是否搭建成功的php文件似乎有点问题,我重新写了个简单的测试文件
3、如果你安装的MySQL数据库是8以上(我的服务器上之前已经安装了MySQL8),可能会报错。原因是8对密码采用了新的加密方式,解决方式自行百度
<?php
/**
* 测试环境是否搭建成功
* @author passerbyYSQ
* @create 2020年3月6日 下午8:22:12
*/
echo 'hello!';
// 最后的端口号,根据自己情况修改
$link = new mysqli("localhost", "用户名", "密码", "要连接的数据库", 3306);
if ($link->connect_error) {
die("Fail to connect Mysql : " . $link->connect_error);
}
echo '连接成功!';
$link->set_charset('utf8');
phpinfo();
?>
这篇文章讲的是如何在一个新搭建的linux主机上(我这里用的是阿里云的centos,其他系统类同),并在该服务器上部署包含mysql数据库的Web应用;
技术栈:Mysql+Php+Apache Httpd
1.准备工作
工具
- 一台拥有最高权限的linux服务器;
- Php部署包或者源码包;
- FinalShell(ssh远程连接,putty和xshell均可)
安装SSH服务
开启linux服务器的ssh登录(阿里云默认开启,可以跳过);
- 安装ssh服务
yum install openssh-server
- 1
- 查看ssh状态
service sshd status
# 或者使用 /etc/init.d/sshd status
- 1
- 2
- 停止/启动/重启/
service sshd start #命令开启SSH服务;
service sshd stop #停止SSH服务命令;
service sshd restart #重启SSH服务命令
- 1
- 2
- 3
- 设置ssh开机启动
chkconfig sshd on
- 1
Ok,到这里服务器端的ssh搭建好了,现在使用ssh终端工具连接,我这里使用的是finalshell,安装方式不说了,连接方式也很简单,打开finalShell的文件夹图表,新建连接,主机填目标服务器ip地址,然后进行连接,这些都比较简单就不多说;
下面的安装命令建议先切换到root用户,使用su可以避免每次输入sudo;
2.环境搭建
下面正式进入环境搭建步骤;
安装 Apache
Apache是运行Web应用必备环境,阿帕奇很牛逼,像java的三脚猫,httpd都是Apache出来的,Apache是一个开源项目,但是对commiter的要求很高,整个中国也没有多少个提交者;
- 检查、删除、安装
rpm -qa|grep httpd #检查是否安装apache
rpm -e 包名 --nodeps #若有则删除 PS:我没有删除,直接用的服务器原来的。
yum install httpd #安装,根据提示,输入Y即可安装成功
- 1
- 2
- 3
- 启动、测试
备注:/etc/init.d/httpd [status/stop/start/restart]和service httpd [status/stop/start/restart]效果是一样的;
systemctl start httpd.service
- 1
- 设置开机启动
systemctl enable httpd.service
- 1
-
验证apache是否安装成功
在浏览器输入目标主机的ip地址,如果弹出一个apache的页面说明安装成功,不同版本的apache主页不一样,这里就不贴图了;阿里云直接可以在控制台看到外网ip; -
重新部署Web应用
在环境都搭建完成并已经运行了Web应用后,重新部署应用不需要把httpd停掉,而是调用指令让Apache重新加载就可以了:
service php-fpm reload
- 1
安装数据库(Centos7以下)
有些应用使用mysq作为数据库存储,有些使用的是mangdb,我自己习惯Mysql,所以这里以安装Mysql为例;
因为MySQL现在被甲骨文公司收回了版权,所以用另一个mariadb,mariadb为MySQL的一个分支,本质只是名字不一样,mariadb继续开源,他们使用的命令都还是一样的。
如果是centos7以上直接跳过这节
- 检查、删除、安装(如果已经安装了数据库密码又忘记了请看另一篇文章[忘记mysql密码怎么办]);
rpm -qa|grep -i mysql #检查是否安装mysql
rpm -e 包名 --nodeps #若有则删除,另外还有一些库和头文件
yum install mysql mysql-server #安装mysql,根据提示,输入Y即可安装成功。若有提示缺少依赖,直接使用yum install 安装即可
- 1
- 2
- 3
备注:安装mysql版本的时候新系统默认是安装5.6的,有些系统安装的是5.5以下的版本,这里我还是推荐使用新版本,有些东西不支持老版本的数据库;centos下的mysql已经改名为mariaDb;
- 配置、启动
service mysqld start
- 1
如果是首次一般要设置mysql账号密码的,比较简单的方式是使用mysql_secure_installation
sudo mysql_secure_installation
- 1
然后提示如下:
Enter current password for root (enter for none): //这里不用输任何内容直接回车
Set root password? [Y/n] //这里输入 Y 后 写入 root 密码
//以下四步直接选 Y 回车就行
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 设置开机启动
sudo chkconfig --levels 235 mysqld on
- 1
安装数据库(Centos7以上)
为了区分centos7以上的版本,这里专门开了一节点说明下,我就直接贴方式了:
#安装
yum -y install mariadb-server mariadb
#php MySQL组件
yum -y install php-mysql
#启动服务
systemctl start mariadb
#设置数据库配置
mysql_secure_installation
Enter current password for root (enter for none):(第一次运行直接回车)
Set root password? [Y/n] y(设置管理员密码)
Remove anonymous users? [Y/n] n(是否删除数据库中其他管理用户)
Disallow root login remotely? [Y/n] n(不允许数据库管理员远程登陆)
Remove test database and access to it? [Y/n] n(删除测试数据库并访问它?)
Reload privilege tables now? [Y/n] n(重新加载权限表)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
安装php
如果不安装php那么web应用程序就无法识别php文件,切记切记;
- 检查、删除、安装
rpm -qa|grep -i php #检查是否安装mysql
rpm -e 包名 --nodeps #若有则删除,另外还有一些库和头文件
yum install php #安装
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt #安装组件,支持mysql
- 1
- 2
- 3
- 4
- 5
- 配置、启动
安装完php后需要重启httpd mysqld:
service mysqld restart
service httpd restart
- 1
- 2
3.测试和部署
到了最后一步了,我们先测试环境是否已经搭建好了,如果搭建好了之后我们就可以把我们的web应用部署到服务器并成功运行;
环境测试
到这里安装环境就已经搭建好了,我们需要测试一下环境是否可用;
- 编写测试文件
cd /var/www/html/
touch index.php
- 1
- 2
然后index.php文件里面写入如下信息,我这里的数据库用户名和密码都是root;通过这个demo我们就知道我们的环境是否成功搭建了;
<?php
$link = mysql_connect("localhost","root","root") or die(mysql_error());
if($link!=false)
{echo "成功连接mysql";}
else
{echo "与本地mysql服务器连接失败";}
mysql_close();
phpinfo(); #打印php信息:
?>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
修改路径(可选)
我们刚刚把index.php放在了 /var/www/html/目录下,这个是apache默认的部署路经,当然我们也是可以放在其他地方得到,只需要修改一下 /etc/httpd/conf/httpd.conf(为了避免十五,建议做修改前都提前备份一下,这是一个好习惯,虽然繁琐但是有时候真的有用);打开 httpd.conf 文件,找到 DocumentRoot 为开头的那一行,将DocumentRoot " /var/www/html/" 改成新的 DocumentRoot 路径,修改完成后记得保存并重启Apache;
service httpd restart
- 1
- 访问测试
如果上面没有修改默认访问路径,则在浏览器中输入目标ip地址就能看到数据库连接信息和php版本信息;
这个样子说明成功了;
4.导入数据库
导入数据库有两种方式,一种是通过mysql命令行,使用source指令导入,一种是安装可视化工具导入,我这里推荐使用phpAdmin;
安装phpAdmin
phpAdmin实际上就是一个Web应用程序,安装方式和安装Web应用时一样的;如果不想安装这个可以直接跳过;
cd /var/www/html/
wget http://oss.aliyuncs.com/aliyunecs/onekey/phpMyAdmin-4.1.8-all-languages.zip
#也可以使用wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.tar.gz
unzip phpMyAdmin.zip # 如果是第二种则 tar -xf phpMyAdmin-4.0.10.20-all-languages.tar.gz
mv http://oss.aliyuncs.com/aliyunecs/onekey/phpMyAdmin-4.1.8-all-languages phpMyAdmin#改名字
- 1
- 2
- 3
- 4
- 5
进入phpMyAdmin文件夹,将libraries/config.default.php复制到phpMyAdmin目录下;
cd phpMyAdmin
cp libraries/config.default.php config.inc.php
- 1
- 2
然后重启mysql和Apache,通过在浏览器中输入目标IP/phpmyadmin访问,使用前面设置的数据库用户名密码访问即可,大概会看到这么一个页面:
备注:如果出现以下类似的错误,说明失缺少一块来,安装好就可以了;
phpMyAdmin - Error
The mbstring extension is missing. Please check your PHP configuration.
使用yum install -y php-mbstring
安装解决;
使用Source指令导入
- 第一种方式
mysql -uroot -proot # 登陆mysql,我这里用户名密码都是root
mysql>create database xxx; #创建数据库xxx是数据库名
mysql>use xxx;
mysql>set names utf8;
mysql>source /home/abc/xxx.sql; #xxx.sql是需要导入的sql文件
- 1
- 2
- 3
- 4
- 5
然后会看到刷刷刷的ok,过一下就会提示导入成功;
- 第二种方式
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
一行代码搞定,具体是这样的:
#mysql -uroot -p xxx < 数据库名.sql
- 1
然后输入数据库密码,就会自己导入进去;
应用部署
部署就相当简单了,我们直接把应用丢到web应用下就可以了,我这里是/var/www/html/,当然你也可以通过上面的方式修改服务器路径,然后把web应用丢过去;
接下来享受部署好的web服务端吧;
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
<div class="more-toolbox">
<div class="left-toolbox">
<ul class="toolbox-list">
<li class="tool-item tool-active is-like tool-clicked"><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-thumbsup"></use>
</svg><span class="name">点赞</span>
<span class="count">4</span>
</a></li>
<li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-Collection-G"></use>
</svg><span class="name">收藏</span></a></li>
<li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{"mod":"1582594662_002"}"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-fenxiang"></use>
</svg>分享</a></li>
<!--打赏开始-->
<!--打赏结束-->
<li class="tool-item tool-more">
<a>
<svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
</a>
<ul class="more-box">
<li class="item"><a class="article-report">文章举报</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/zhonglunshun">
<img src="https://profile.csdnimg.cn/F/B/9/3_zhonglunshun" class="avatar_pic" username="zhonglunshun">
<img src="https://g.csdnimg.cn/static/user-reg-year/2x/8.png" class="user-years">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit"><a href="https://blog.csdn.net/zhonglunshun" data-report-click="{"mod":"popu_379"}" target="_blank">疯人院的院长大人</a></span>
</div>
<div class="text"><span>发布了97 篇原创文章</span> · <span>获赞 265</span> · <span>访问量 56万+</span></div>
</div>
<div class="right-message">
<a href="https://bbs.csdn.net/topics/395533117" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-messageboard">他的留言板
</a>
<a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">关注</a>
</div>
</div>
</div>
这篇文章讲的是如何在一个新搭建的linux主机上(我这里用的是阿里云的centos,其他系统类同),并在该服务器上部署包含mysql数据库的Web应用;
技术栈:Mysql+Php+Apache Httpd
1.准备工作
工具
- 一台拥有最高权限的linux服务器;
- Php部署包或者源码包;
- FinalShell(ssh远程连接,putty和xshell均可)
安装SSH服务
开启linux服务器的ssh登录(阿里云默认开启,可以跳过);
- 安装ssh服务
yum install openssh-server
- 1
- 查看ssh状态
service sshd status
# 或者使用 /etc/init.d/sshd status
- 1
- 2
- 停止/启动/重启/
service sshd start #命令开启SSH服务;
service sshd stop #停止SSH服务命令;
service sshd restart #重启SSH服务命令
- 1
- 2
- 3
- 设置ssh开机启动
chkconfig sshd on
- 1
Ok,到这里服务器端的ssh搭建好了,现在使用ssh终端工具连接,我这里使用的是finalshell,安装方式不说了,连接方式也很简单,打开finalShell的文件夹图表,新建连接,主机填目标服务器ip地址,然后进行连接,这些都比较简单就不多说;
下面的安装命令建议先切换到root用户,使用su可以避免每次输入sudo;
2.环境搭建
下面正式进入环境搭建步骤;
安装 Apache
Apache是运行Web应用必备环境,阿帕奇很牛逼,像java的三脚猫,httpd都是Apache出来的,Apache是一个开源项目,但是对commiter的要求很高,整个中国也没有多少个提交者;
- 检查、删除、安装
rpm -qa|grep httpd #检查是否安装apache
rpm -e 包名 --nodeps #若有则删除 PS:我没有删除,直接用的服务器原来的。
yum install httpd #安装,根据提示,输入Y即可安装成功
- 1
- 2
- 3
- 启动、测试
备注:/etc/init.d/httpd [status/stop/start/restart]和service httpd [status/stop/start/restart]效果是一样的;
systemctl start httpd.service
- 1
- 设置开机启动
systemctl enable httpd.service
- 1
-
验证apache是否安装成功
在浏览器输入目标主机的ip地址,如果弹出一个apache的页面说明安装成功,不同版本的apache主页不一样,这里就不贴图了;阿里云直接可以在控制台看到外网ip; -
重新部署Web应用
在环境都搭建完成并已经运行了Web应用后,重新部署应用不需要把httpd停掉,而是调用指令让Apache重新加载就可以了:
service php-fpm reload
- 1
安装数据库(Centos7以下)
有些应用使用mysq作为数据库存储,有些使用的是mangdb,我自己习惯Mysql,所以这里以安装Mysql为例;
因为MySQL现在被甲骨文公司收回了版权,所以用另一个mariadb,mariadb为MySQL的一个分支,本质只是名字不一样,mariadb继续开源,他们使用的命令都还是一样的。
如果是centos7以上直接跳过这节
- 检查、删除、安装(如果已经安装了数据库密码又忘记了请看另一篇文章[忘记mysql密码怎么办]);
rpm -qa|grep -i mysql #检查是否安装mysql
rpm -e 包名 --nodeps #若有则删除,另外还有一些库和头文件
yum install mysql mysql-server #安装mysql,根据提示,输入Y即可安装成功。若有提示缺少依赖,直接使用yum install 安装即可
- 1
- 2
- 3
备注:安装mysql版本的时候新系统默认是安装5.6的,有些系统安装的是5.5以下的版本,这里我还是推荐使用新版本,有些东西不支持老版本的数据库;centos下的mysql已经改名为mariaDb;
- 配置、启动
service mysqld start
- 1
如果是首次一般要设置mysql账号密码的,比较简单的方式是使用mysql_secure_installation
sudo mysql_secure_installation
- 1
然后提示如下:
Enter current password for root (enter for none): //这里不用输任何内容直接回车
Set root password? [Y/n] //这里输入 Y 后 写入 root 密码
//以下四步直接选 Y 回车就行
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 设置开机启动
sudo chkconfig --levels 235 mysqld on
- 1
安装数据库(Centos7以上)
为了区分centos7以上的版本,这里专门开了一节点说明下,我就直接贴方式了:
#安装
yum -y install mariadb-server mariadb
#php MySQL组件
yum -y install php-mysql
#启动服务
systemctl start mariadb
#设置数据库配置
mysql_secure_installation
上一篇: Java SSM框架中解决跨域请求、内网其它ip访问的四种办法
下一篇: DNS服务器的搭建