为了学习docker来回顾Linux基础,本篇是基于Ubuntu操作系统18.04.3版本安装部署遇到问题或有用知识点的汇总整理。
ifconfig命令找不到
问题描述: 在Vmware安装完成Ubuntu后,输入ifconfig提示:Command ‘ifconfig’ not found, but can be installed with: sudo apt install net-tools。当然官方提醒我们可以使用sudo apt install net-tools
安装net-tools,然而并不如预想。
解决方案: 执行语句 sudo apt-get update && sudo apt-get install net-tools
再输入ifconfig就正常啦。(apt-get用于自动从互联网的软件仓库中搜索、安装、升级或卸载软件。我们需要定期执行apt-get update
,让我们缓存包在系统中的软件列表源是最新的)
如果在过程中提示 E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable), 不用担心,这是因为上一次安装时异常退出导致锁残留,可直接删除掉这个锁文件,使用命令sudo rm /var/lib/apt/lists/lock
。
编译安装PHP7.3.11
- 官网 http://php.net/downloads.php 下载安装包到本地或者使用wget
wget http://cn2.php.net/distributions/php-7.3.11.tar.gz
- 安装依赖包 libxml2-dev和 gcc
a. 如果遇到错误:error:xml2-config not found.Please check your libxml2 installation. ,说明依赖包libxml2不存在,需要安装使用命令sudo apt-get update && sudo apt-get install libxml2-dev -y
。
b. 如果安装libxml2过程又提示Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?,可执行apt-get install libxml2-dev -y --fix-missing
解决。多次尝试无效时,保证当前网络连接正常的基础上,执行sudo apt-get clean
再进行后续操作。
c. 如果又报错configure: error: no acceptable C compiler found in $PATH,是因为你本地没有可执行编译的源文件,需要执行sudo apt-get update && sudo apt-get install gcc -y
解决。 - 执行预编译,使用
./configure --prefix=/usr/local/php
(这个后面最好加上--with-config-file-path=/usr/local/php/conf
,代表指定php.ini路径,否则后面需要自己去设置) 代表我要装到/usr/local/php里,配置文件放到conf里 - 安装,执行完成之后最后一定要执行
make
,这一步是真正的编译。然后还要执行sudo make install
,这一步是拷贝到你的目标文件夹,否则/usr/local/php是不会有的。 - 验证,没有Hello world感觉不完整是不是。写个简单的PHP页面
环境变量
基于用户级的环境变量设置 在home目录下的隐藏文件 .bashrc,输入export name=xugz
设置个名字,使用source .bashrc
执行。比如说我现在安装了Nodejs,但是只能在node安装目录下进行操作,如何处理呢?可以通过修改环境变量实现。在.bashrc文件中追加export PATH=$PATH:/home/xugz/tool/node-v12.13.0-linux-x64/bin
后保存退出,使用source .bashrc
执行就可以在任何文件目录下执行node操作了。
全局环境变量在/etc/profile
文件下
Mysql8.0.18源码安装
官网下载源码 源码包分为带boost版和不带boost版的,我这里直接下面自带boost版的。 社区版 Compressed TAR Archive, Includes Boost Headers。浏览器下载或者使用wget:
1
2
3wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.18.tar.gz
tar xzv -f mysql-boost-8.0.18.tar.gz
cd mysql-8.0.18/安装依赖编译工具
sudo apt install cmake build-essential bison libssl-dev pkg-config git gcc g++ libncurses5 libncurses5-dev -y
详细依赖列表参考点我编译执行
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DFORCE_INSOURCE_BUILD=1
(cmake的完整选项列表点我)。运行成功,会显示1
2
3-- Configuring done
-- Generating done
-- Build files have been written to: /home/xugz/Downloads/mysql-8.0.18如果没有报错,执行
make
编译,然后开始漫长的等待,等待……编译完成后执行make install
安装新建 /usr/local/mysql文件, 修改归属用户权限
chown xugz:xugz mysql
初始化配置
详细参考 https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html
mysqld是最终需要运行的可执行程序,不过我们一般使用mysqld_safe这个脚本来执行。进入安装目录cd /usr/local/mysql
,进入bin目录我们执行mysqld --verbose --help
生成所有mysqld选项和可配置变量的列表如上图所示,MySQL先去寻找/etc/mysql/my.cnf文件,如果没有再去寻找 /etc/my.cnf,还没有再去寻找~/.my.cnf。我们只需要三选一创建文件,这里我选择大众常用的 /etc/my.cnf。执行
sudo vi /etc/my.cnf
添加以下内容1
2
3
4
5
6
7
8
9[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysqld]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data检查安装目录是否存在data文件夹,这个文件夹用来存放数据库文件的,没有的话需要手动创建,并修改当前用户所有权限。
回到bin目录初始化数据库,使用命令./mysqld --initialize --user=xugz --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
这一步会随机生成的root账号初始密码,记录备用 kacIL6Vxs*dX启动&连接
使用命令/usr/local/mysql/bin/mysqld_safe
启动,然后新开命令窗口执行ps -ef | grep mysql
验证
在/usr/local/mysql/bin目录下,使用./mysql -u root -p
登陆,密码为刚才生成的随机字串。临时密码不可用,键入命令会提示修改。使用命令alter user user() identified by 'qwe123';
退出后MySQL链接重进就可以正常操作了。关闭数据库连接
使用命令./mysqladmin -u root -pqwe123 shutdown
Memcached安装
安装包下载 官网地址 或者使用wget。官网已经给我们详细说明
安装依赖
sudo apt-get install libevent-dev -y
灵活点根据官网提示修改配置安装
进入memcache下载目录使用命令./configure --prefix=/usr/local/memcached
完成后执行make
,之后执行make install
。这时我们就可以在/usr/local/memcached中看到bin目录了启动
1
2
3
4
5
6
7
8/usr/local/memcached/bin/memcached -d -m 512 -u xugz -l 127.0.0.1 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid
备注:
-d 以守护进程
-m 代表分配的内存(单位M)
-l 连接的IP地址。默认只有本机可以连。多个IP用,连接
-c 最大并发连接数
-P pid文件连接
telnet 127.0.0.1 11211
进入。使用set keyName flags 过期时间(秒) bytes(值的长度)
换行,键入值。使用get keyName
获取
Navicat安装
下载安装包 官网地址完成后解压。进入解压后的目录运行./start_navicat
即可
破解方案:
执行start_navicat时,会在用户主目录下生成一个名为.navicat的隐藏文件夹。cd /home/xugz/.navicat/
此文件夹下有一个system.reg文件。把此文件删除后,下次启动navicat 会重新生成此文件,规定试用期会按新的时间开始计算。
编译安装PHP下面的memcahed拓展
- 安装基本依赖
sudo apt-get update && sudo apt-get install autoconf igbinary msgpack zlib1g-dev -y
- 安装依赖包 libmemcached。进入官网下载地址下载完成后解压进入解压目录执行
./configure && make && make install
和memcached - 下载拓展包
git clone https://github.com/php-memcached-dev/php-memcached.git