Ubuntu搭建PHP环境+部署OJ

  1. ssh ubuntu@81.70.160.45 + 回车 + 输密码 然后会变成

    [ubuntu@VM-0-12-ubuntu:/$
    
  2. sudo su root 切换到root用户,会变成

    [root@VM-0-12-ubuntu:/#
    
  3. 检查更源中所有的包(源:linux里面的东西,里面有很多ubuntu的软件包)

    sudo apt-get update
    
  4. 安装Apache (安不安装都可以,因为之后会安装Python,Python和Apache的关系就像C++11和Apache的关系,都是框架)

    sudo apt-get install apache2
    
  5. 安装PHP

    sudo apt-get install php7.0
    
    查看安装是否成功 php -v
    
  6. 安装PHP7.0插件

    sudo apt-get install libapache2-mod-php7.0
    
  7. 安装完成后写一个PHP文件检查是否可以解析PHP:定位到服务器目录 cd/var/www/html;编写一个PHP:vi test.php(写入以下代码:)

    <?php echo phpinfo();?>	(php语句是在php里面运行的,必须先进入PHP环境)
    
  8. 在服务器上安装MySQL:(三条分开的语句,一步步执行)

    sudo apt-get install mysql-server
    
    sudo apt-get install mysql-client
    
    检查是否安装成功mysql -V
    
  9. 安装PHP的msyql插件

    sudo apt-get install php7.0-mysql
    
  10. 将root直接改为远程访问(在不考虑安全性的前提下)

    mysql -uroot -p 
    use mysql;
    update user set Host='%' where User='root'
    flush privileges;
    
  11. 之后会进入 [mysql> 命令行,没啥问题的话直接quit退出就行。

    mysql> quit
    Bye
    
  12. 此时会看见下面第一行的语句,输入cd即可,就会恢复到第二行语句的状态。

    root@VM-0-12-ubuntu:/var/www/html#
    
    root@VM-0-12-ubuntu:~# 
    

配置Linux环境

  1. 安装python环境,python如果有自己安装Android的话,不用下载 python3-pip。

    sudo apt-get update && sudo apt-get install -y vim python3-pip curl git
    
  2. 更新pip

    pip3 install --upgrade pip
    
  3. 安装docker-compose ,因为OJ是部署在dockers环境的

    pip install docker-compose 
    
  4. 安装 Docker(国内用户使用脚本一键安装)

    sudo curl -sSL https://get.daocloud.io/docker | sh
    

开始安装

  1. 选择磁盘空间富余的位置:

    git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
    
  2. 启动服务

    docker-compose up -d
    
  3. 上述步骤自动搭建完成后运行 docker ps -a,当看到所有的容器的状态没有 unhealthyExited (x) xxx 就代表OJ已经启动成功。

运行

浏览器访问服务器的 HTTP 80/443 端口。

问题解决

  1. Linux删除文件的操作:

    • 删除文件命令:rm -f 文件名 (将会强行删除文件,且无提示);rm -rf要注意linux中没有回收站,慎重删除

    • 删除文件夹以及文件夹中的所有文件命令:rm -rf 目录名字(-r:向下递归删除;-f:直接强行删除,无提示)

  2. 关于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

参考博客

原文地址:https://www.cnblogs.com/OFSHK/p/14068332.html