0.环境总览
Ubuntu 20.04 64位
常用命令
命令 --help #帮助 clear #清屏 crontab -e #计划任务 sudo service apache2 restart #重启apache2 lsof -i tcp:80 #查看端口进程 netstat -ntpl #查看本机所有端口进程 curl 127.0.0.1:3000 #发起访问 history #查看最近使用的命令行历史记录 top #系统状况 pwd #当前目录 dmidecode #硬件信息 df -h #磁盘信息 ls -l #文件显示权限 ls *.sh #显示以.sh为后缀的内容 which app #显示默认执行的程序 whereis 文件名 #模糊搜索 find / -name 文件名 #精确搜索,较慢 grep -r abc * #递归搜索所有子目录下的文本,关键字abc mkdir abc #创建abc目录 touch a.a #创建a.a文件 cp file1 file2 #复制文件 mv file1 file2 #移动文件 rm a.txt #删除a.txt文件 rm -r a #删除a目录 cat 文件名 #查看文件内容 head 文件名 #显示文件前10行 tail 文件名 #显示文件后10行 chmod 775 file #修改文件权限 chmod -R 600 folder #递归修改目录权限 vim a.text #使用vim编辑文本 i #选择写入模式 esc键->:wq #保存并退出 docker ps #列出容器 pm2 list #列表 npm root -g #全局node_modules目录的位置 npm list #查看所有已安装的npm软件包 npm list -g --depth=0 #获取全局顶层的软件包
1.ubantu查看版本
cat /etc/issue #(简单) cat /etc/lsb-release #(具体) uname -a #(内核)
2.通用命令
sudo service --status-all #查看所有服务 sudo systemctl status mysql #查看某一项服务的信息
注意事项:网上复制命令时候注意中英文引号,sql命令后要有分号
3.安装apache
sudo apt-get update sudo apt-get install apache2
3.安装mysql
说明:mysql8修改了验证方式,所以安装过程中不会有弹框输入密码,而且系统自动生成了密码路径为/etc/mysql/debian.cnf
sudo apt-get install mysql-server mysql-client
我们需要设置root的密码,并且启用密码登录模式
mysql #无需输入账号密码直接连接到了mysql show databases; #查看所有的数据库 use mysql; #选择user表 SELECT User, Host, plugin FROM mysql.user; #查看相关字段的内容 UPDATE user SET plugin="mysql_native_password" WHERE User="root"; #更改root的验证方式 alter user 'root'@'localhost' identified by '123456'; #修改root的密码 FLUSH PRIVILEGES; #刷新权限表 sudo systemctl restart apache2 #重启服务器
参考连接:https://blog.csdn.net/qq_40342015/article/details/82796710
后记:某次新装环境数据库安装完死活连不上,后来过了两天再次测试竟然自己又可以了
让apache支持mysql:
sudo apt-get install libaprutil1-dbd-mysql
其他相关命令:
mysql -u root -p #登录 exit; #退出mysql status; #查看版本
4.安装php
sudo apt install php libapache2-mod-php php -v #出现版本说明安装成功
重启 Apache,重新加载 PHP 模块
sudo systemctl restart apache2
让php支持mysql
sudo apt install php-mysql
验证php安装成功,创建一个新的文件名,命名为info.php,放在/var/www/html目录下,文件内容如下:
<?php phpinfo();
测试mysql连接是否正确
<?php $servername = "localhost"; $username = "root"; $password = "123456"; try { $conn = new PDO("mysql:host=$servername;", $username, $password); echo "连接成功"; } catch(PDOException $e) { echo $e->getMessage(); } ?>
备注:此时可能会出现提示”could not find driver”,找到/etc/php/7.4/apache2/php.ini
打开这三项
extension=mysqli extension=pdo_mysql extension=pdo_odbc
5.安装phpmyadmin
sudo apt install phpmyadmin
此时访问host/phpmyadmin/
无法打开。修复方法:
系统在安装软件时,默认将软件安装在了/usr/share/下,所以你的phpmyadmin在/usr/share下可以找到
必须建立一个软连接,使得第三步中显示的文件和/var/www/html下的某个文档链接起来
切换到想要访问的路径下,比如cd /var/www/html
sudo ln -s /usr/share/phpmyadmin phpmyadmin sudo systemctl restart apache2 #重启Apache2 rm -fr phpmyadmin #删除软链接
此时如果打开host/phpmyadmin
发现也不能访问,而且安装phpmyadmin过程中并没有提示连接数据库,此时我们需要手动更改配置文件
phpmyadmin/libraries/config.default.php
找的数据库部分填入即可
6.配置虚拟主机
apache 2 虚拟主机 配置(ubantu)
7.安装wordpress
起初准备安装最新版wordpress但是发现存在各种问题,比如无法打开登录页面,缩略图不显示等,所以决定代码整站复制,数据库也全部导入
相关配置修改
apache2 开启 rewrite
sql导入默认限制2M因此要修改
phpmyadmin导入svc文件的相关问题
PHP7不再兼容mysql系列函数,要使用mysqli系列函数,有两种解决方式,一种是安装mysql扩展,另一种是在代码层定义mysql_connect等函数,我们使用第二种,在相关文件头部添加如下代码
$dbhost = 'localhost'; $dbport = 3306; $dbuser = 'DATA_USERNAME'; $dbpass = 'DATA_PASSWORD'; $dbname = 'DATA_NAME'; if(!function_exists('mysql_connect')){ function mysql_connect($dbhost, $dbuser, $dbpass){ global $dbport; global $dbname; global $mysqli; $mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname); return $mysqli; } function mysql_select_db($dbname){ global $mysqli; return mysqli_select_db($mysqli,$dbname); } function mysql_fetch_array($result){ return mysqli_fetch_array($result); } function mysql_fetch_assoc($result){ return mysqli_fetch_assoc($result); } function mysql_fetch_row($result){ return mysqli_fetch_row($result); } function mysql_query($query){ global $mysqli; return mysqli_query($mysqli,$query); } function mysql_escape_string($data){ global $mysqli; return mysqli_real_escape_string($mysqli, $data); } function mysql_real_escape_string($data){ return mysql_real_escape_string($data); } function mysql_close(){ global $mysqli; return mysqli_close($mysqli); } }
其它一些有用的命令,虽然本次尝试后最终并没有使用
两台ecs之间复制文件
scp root@172.0.0.1:/var/www/willless.rar /var/www/test
8.安装nodejs
sudo apt update sudo apt install nodejs npm sudo npm config set registry https://registry.npm.taobao.org node -v #v10.19.0 npm -v #6.14.4
8.安装pm2
sudo npm install -g pm2
相关命令
pm2 start app.js #start and daemonize any application pm2 start api.js -i 4 #load balance 4 instances of api.js pm2 monitor #monitor in production pm2 startup #make pm2 auto-boot at server restart
8.安装docker
apt-get install docker.io docker info #查看概要信息
安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose #赋予执行权限 docker-compose --version #查看版本
systemctl start docker #启动 systemctl stop docker #关闭 systemctl restart docker #重启 systemctl status docker #状态 systemctl enable docker #开机启动 docker --help #帮助
此时发现服务器性能严重不够,此时我们需要开启虚拟内存
创建虚拟内存>
free -m #查看内存信息
9.安装gitea
ubantu下安装gitea
wget -O gitea https://dl.gitea.io/gitea/1.12.5/gitea-1.12.5-linux-amd64
配置文件路径:custom/conf/app.ini
起初安装1.4.0版本始终无法成功,换成1.12.5后直接安装成功,中途并没有输入数据库信息的页面,点击登录或者注册时候会跳到数据库配置页面,相比以前版本对密码强度做了限制
git仓库迁移
虽然各个平台自带一键迁移,但是速度实在太慢
10.安装scratch
10.19.0的Node版本安装报错后问题解决,上次在14的版本中安装一次成功
nodejs安装scratch
11.Jenkins安装
ubuntu20自带java8所以此处无需再安装
java -version
输出openjdk version "1.8.0_272"
ubantu下安装Jenkins
12.hasura安装
链接
13.neo4j安装
ubantu安装neo4j
ubuntu20下到第四步都很顺利,neo4j start
一切正常,没有java报错,访问host:7474
发现却无法打开
第二天再此访问host:7474
发现竟然可以打开了,估计是程序刚安装初始化较久的原因
登录后需要先使用默认账号密码登录neo4j:neo4j
然后设置新的密码
注意:安全规则开启两个端口7474和7687