Ubuntu搭建PHP环境+部署OJ
-
ssh ubuntu@81.70.160.45 + 回车 + 输密码 然后会变成
[ubuntu@VM-0-12-ubuntu:/$
-
sudo su root 切换到root用户,会变成
[root@VM-0-12-ubuntu:/#
-
检查更源中所有的包(源:linux里面的东西,里面有很多ubuntu的软件包)
sudo apt-get update
-
安装Apache (安不安装都可以,因为之后会安装Python,Python和Apache的关系就像C++11和Apache的关系,都是框架)
sudo apt-get install apache2
-
安装PHP
sudo apt-get install php7.0
查看安装是否成功 php -v
-
安装PHP7.0插件
sudo apt-get install libapache2-mod-php7.0
-
安装完成后写一个PHP文件检查是否可以解析PHP:定位到服务器目录 cd/var/www/html;编写一个PHP:vi test.php(写入以下代码:)
<?php echo phpinfo();?> (php语句是在php里面运行的,必须先进入PHP环境)
-
在服务器上安装MySQL:(三条分开的语句,一步步执行)
sudo apt-get install mysql-server
sudo apt-get install mysql-client
检查是否安装成功mysql -V
-
安装PHP的msyql插件
sudo apt-get install php7.0-mysql
-
将root直接改为远程访问(在不考虑安全性的前提下)
mysql -uroot -p use mysql; update user set Host='%' where User='root' flush privileges;
-
之后会进入 [mysql> 命令行,没啥问题的话直接quit退出就行。
mysql> quit Bye
-
此时会看见下面第一行的语句,输入cd即可,就会恢复到第二行语句的状态。
root@VM-0-12-ubuntu:/var/www/html#
root@VM-0-12-ubuntu:~#
配置Linux环境
-
安装python环境,python如果有自己安装Android的话,不用下载 python3-pip。
sudo apt-get update && sudo apt-get install -y vim python3-pip curl git
-
更新pip
pip3 install --upgrade pip
-
安装docker-compose ,因为OJ是部署在dockers环境的
pip install docker-compose
-
安装 Docker(国内用户使用脚本一键安装)
sudo curl -sSL https://get.daocloud.io/docker | sh
开始安装
-
选择磁盘空间富余的位置:
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
-
启动服务
docker-compose up -d
-
上述步骤自动搭建完成后运行
docker ps -a
,当看到所有的容器的状态没有unhealthy
或Exited (x) xxx
就代表OJ已经启动成功。
运行
浏览器访问服务器的 HTTP 80/443 端口。
问题解决
-
Linux删除文件的操作:
-
删除文件命令:rm -f 文件名 (将会强行删除文件,且无提示);rm -rf要注意linux中没有回收站,慎重删除
-
删除文件夹以及文件夹中的所有文件命令:rm -rf 目录名字(-r:向下递归删除;-f:直接强行删除,无提示)
-
-
关于ssh登录出现异常警告问题,碰到WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
ssh ubuntu@81.70.160.45
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
原因:
因为我对ssh服务器重置了系统,导致所有与原系统建立过ssh连接的系统都无法再建立连接,因为在于原系统建立首次连接时,双方相互记录了对方的公钥(ssh基于非对称密钥技术),在ssh服务主机重装系统后,公钥改变了,任以旧版本公钥的主机自然是无法与新系统连接的。
解决方案:
删除~/.ssh/known_hosts文件,或者如果你可以判断出known_hosts中原ssh服务器的公钥,删去那部分,然后后再次建立新的连接,即可获得新的公钥。
删除操作:
rm -f ~/.ssh/known_hosts