项目过程:
我在制作过程中,所有代码文件在windows环境下进行开发,并且可正常运行
在项目上云的过程中,将整个项目所在文件夹移入ecs实例中,我使用的实例使用的ubuntu22.04系统,使用的是Winscp软件进行文件移动,因为在ubuntu中编辑代码比较麻烦,所以使用该软件进行本地编辑,命令行使用的是cmd或powershell,使用ssh连接对系统进行操作
WinSCP下载地址:WinSCP :: Official Site :: Free SFTP and FTP client for Windowshttps://winscp.net/eng/index.php
ssh连接命令为:ssh 用户名@远程主机公网IP
如果输入在powershell中输入ssh报错,则需要先安装ssh,可参考微软官方文档
使用SSH连接阿里云ECS实例需要开启实例22端口:
进入阿里云控制台后点击实例,在实例中点击安全组,再点击安全组id,进入后点击下方的快速添加,一般创建时默认已经开启22端口
在WinSCP中连接实例
按照要求输入即可,主机名即公网IP
用户名密码可以在命令行中创建和修改
如忘记密码可以在实例中点击实例ID后的远程连接
使用会话管理来进行远程连接
之后在里面使用sudo passwd 用户名进行修改密码
在所有连接已经就绪之后就可以开始部署我们的环境了
首先安装apache服务器
使用sudo apt update;更新
使用sudo apt install apache2;安装apache服务
安装完成后切记需要开启实例安全组中的80端口才可以在本地访问哦!安全组配置方法和上面一样,只要把ssh改成http的80端口即可
下一步就是安装PHP环境了
sudo apt install php
之后重启apache服务
sudo systemctl restart apache2
测试php是否安装成功,在/var/www/html目录下新建一个php文件
内容如下
<?php phpinfo(); ?>
保存文件,打开浏览器http://你的公网IP/php文件名
如果显示紫色的PHP网站就表示安装成功
然后我们需要安装PHP扩展,我们需要使用mysql,所以还需要安装:
sudo apt install php-mysql
接下来安装mysql
apt install mysql-server
安装结束后使用
mysql --version
查看是否安装成功
之后你需要初始化一下数据库,并且设置一些信息
sudo mysql_secure_installation
设置好root密码即可
现在可以使用root用户来登录你的数据库了
mysql -u root -p 密码
现在需要让数据库可以在远程登录
进入数据库中的mysql数据库
use mysql
开启远程访问权限
GRANT ALL PRIVILEGES ON *.* TO '你想要可以远程访问的用户名'@'%' IDENTIFIED BY '密码'
强制刷新权限
flush privileges;
之后关闭数据库:exit;
在ECS实例的安全组中需要开启3306端口
如果以上服务无法在本地电脑中进行远程访问,请检查ubuntu中防火墙,是否开启这些端口,如果成功就进行下一步,将本地可运行的项目文件使用WinSCP移入ubuntu中的/var/www/html路径下
PHP中需要在配置文件中开启mysqli方法,请更改php中配置文件信息,配置文件位置/etc/php/8.1/apache2/php.ini
请将下面几个语句前的;去掉,取消注释
extension=mbstring
extension=mysqli
extension=pdo_mysql
现在再重启一下服务
sudo systemctl restart apache2
如果成功就完成啦!!!
如果有报错信息可以参考一下我遇到的问题看看大家有没有遇到,进行一下避雷
apache服务器错误日志可查看/var/log/apache/error.log
如果上面我打的命令不通有可能是符号问题,我可能打成中文了,请大家谅解!谢谢!
我本次项目中遇到的主要问题描述
在windows下直接将项目移入ubuntu,php文件无法正常运行
原因分析:
我在网上查阅资料,一开始以为是php配置文件问题,但是一直没有解决问题
直到去查看日志文件error.log
发现是我写的php连接数据库库的文件无法找到,但是路径都是正确的
这时候要注意以下:
因为:windows中使用的路径是 \ ; 而ubuntu下使用的路径是 / ;所以会无法找到该路径
解决方案:
只需要将文件中的 \ 斜杠改成 / 斜杠即可
制作不易,我分享的过程,希望可以帮助到大家,感谢大家的观看