zoukankan      html  css  js  c++  java
  • 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
    

    参考博客

  • 相关阅读:
    TestStand ​自​定义​步骤​类型​开发​最佳​实践【2】
    TestStand ​用户​界面​开发​最佳​实践【3】
    Log4net
    Visual Studio 常用技巧
    LIN 总线
    C# Socket
    TestStand​ 代码​模​块​开发​最佳​实践【1】
    TestStand 基本知识[10]--在序列中调用代码模块之--LabVIEW
    TestStand 基本知识[9]--Step Properties
    C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!
  • 原文地址:https://www.cnblogs.com/OFSHK/p/14068332.html
Copyright © 2011-2022 走看看