原博文链接:https://blog.csdn.net/zhonglunshun/article/details/91366460
1、在访问ip地址之前,一定要在阿里云上面配置安全规则,开放80端口(apache httpd的默认端口为80)
2、原博主用于测试环境是否搭建成功的php文件似乎有点问题,我重新写了个简单的测试文件
3、如果你安装的MySQL数据库是8以上(我的服务器上之前已经安装了MySQL8),可能会报错。原因是8对密码采用了新的加密方式,解决方式自行百度
/**
* 测试环境是否搭建成功
* @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();
?>
技术栈:Mysql+Php+Apache Httpd
开启linux服务器的ssh登录(阿里云默认开启,可以跳过);
yum install openssh-server
service sshd status
# 或者使用 /etc/init.d/sshd status
service sshd start #命令开启SSH服务;
service sshd stop #停止SSH服务命令;
service sshd restart #重启SSH服务命令
chkconfig sshd on
Ok,到这里服务器端的ssh搭建好了,现在使用ssh终端工具连接,我这里使用的是finalshell,安装方式不说了,连接方式也很简单,打开finalShell的文件夹图表,新建连接,主机填目标服务器ip地址,然后进行连接,这些都比较简单就不多说;
下面的安装命令建议先切换到root用户,使用su可以避免每次输入sudo;
下面正式进入环境搭建步骤;
Apache是运行Web应用必备环境,阿帕奇很牛逼,像java的三脚猫,httpd都是Apache出来的,Apache是一个开源项目,但是对commiter的要求很高,整个中国也没有多少个提交者;
rpm -qa|grep httpd #检查是否安装apache
rpm -e 包名 --nodeps #若有则删除 PS:我没有删除,直接用的服务器原来的。
yum install httpd #安装,根据提示,输入Y即可安装成功
systemctl start httpd.service
systemctl enable httpd.service
验证apache是否安装成功
在浏览器输入目标主机的ip地址,如果弹出一个apache的页面说明安装成功,不同版本的apache主页不一样,这里就不贴图了;阿里云直接可以在控制台看到外网ip;
重新部署Web应用
在环境都搭建完成并已经运行了Web应用后,重新部署应用不需要把httpd停掉,而是调用指令让Apache重新加载就可以了:
service php-fpm reload
有些应用使用mysq作为数据库存储,有些使用的是mangdb,我自己习惯Mysql,所以这里以安装Mysql为例;
因为MySQL现在被甲骨文公司收回了版权,所以用另一个mariadb,mariadb为MySQL的一个分支,本质只是名字不一样,mariadb继续开源,他们使用的命令都还是一样的。
如果是centos7以上直接跳过这节
rpm -qa|grep -i mysql #检查是否安装mysql
rpm -e 包名 --nodeps #若有则删除,另外还有一些库和头文件
yum install mysql mysql-server #安装mysql,根据提示,输入Y即可安装成功。若有提示缺少依赖,直接使用yum install 安装即可
备注:安装mysql版本的时候新系统默认是安装5.6的,有些系统安装的是5.5以下的版本,这里我还是推荐使用新版本,有些东西不支持老版本的数据库;centos下的mysql已经改名为mariaDb;
service mysqld start
如果是首次一般要设置mysql账号密码的,比较简单的方式是使用mysql_secure_installation
sudo mysql_secure_installation
然后提示如下:
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]
sudo chkconfig --levels 235 mysqld on
为了区分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(重新加载权限表)
如果不安装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
service mysqld restart
service httpd restart
到了最后一步了,我们先测试环境是否已经搭建好了,如果搭建好了之后我们就可以把我们的web应用部署到服务器并成功运行;
到这里安装环境就已经搭建好了,我们需要测试一下环境是否可用;
cd /var/www/html/
touch index.php
然后index.php文件里面写入如下信息,我这里的数据库用户名和密码都是root;通过这个demo我们就知道我们的环境是否成功搭建了;
修改路径(可选)
我们刚刚把index.php放在了 /var/www/html/目录下,这个是apache默认的部署路经,当然我们也是可以放在其他地方得到,只需要修改一下 /etc/httpd/conf/httpd.conf(为了避免十五,建议做修改前都提前备份一下,这是一个好习惯,虽然繁琐但是有时候真的有用);
打开 httpd.conf 文件,找到 DocumentRoot 为开头的那一行,将DocumentRoot " /var/www/html/" 改成新的 DocumentRoot 路径,修改完成后记得保存并重启Apache;
service httpd restart
导入数据库有两种方式,一种是通过mysql命令行,使用source指令导入,一种是安装可视化工具导入,我这里推荐使用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#改名字
进入phpMyAdmin文件夹,将libraries/config.default.php复制到phpMyAdmin目录下;
cd phpMyAdmin
cp libraries/config.default.php config.inc.php
然后重启mysql和Apache,通过在浏览器中输入目标IP/phpmyadmin访问,使用前面设置的数据库用户名密码访问即可,大概会看到这么一个页面:
备注:如果出现以下类似的错误,说明失缺少一块来,安装好就可以了;
phpMyAdmin - Error
The mbstring extension is missing. Please check your PHP configuration.
使用yum install -y php-mbstring
安装解决;
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文件
然后会看到刷刷刷的ok,过一下就会提示导入成功;
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
一行代码搞定,具体是这样的:
#mysql -uroot -p xxx < 数据库名.sql
然后输入数据库密码,就会自己导入进去;
部署就相当简单了,我们直接把应用丢到web应用下就可以了,我这里是/var/www/html/,当然你也可以通过上面的方式修改服务器路径,然后把web应用丢过去;
接下来享受部署好的web服务端吧;