Linux 常用开发环境搭建
记录常用的开发环境搭建过程,大部分来源于网络,在此统一记录,方便大众。侵删。
基于 CentOS Linux release 7.6.1810 (Core)
查看系统版本命令 cat /etc/redhat-release
lrzsz
lrzsz(Linux服务器和window互传文件工具)
sz /文件名:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)
yum install -y lrzszwget
Linux中的一个下载文件的工具
yum -y install wgetlsof
lsof(list open files)是一个列出当前系统打开文件的工具。
yum -y install lsofunzip
unzip是一款用于在Linux系统中解压缩的小工具,可以帮助用户轻松解压多种压缩文件格式,例如zip、rar、tar等。
yum install -y unzipJDK 安装
1、查看支持的JDK版本:
yum -y list java* 带-devel的安装的是jdk,而不带-devel的,实际上安装的是jre!
2、选择需要的版本安装 JDK
yum install -y java-1.8.0-openjdk-devel.x86_643、验证
java -version4、查看 JDK 版本信息
cd /usr/lib/jvm进入该安装目录下,输入 ls 命令,查看刚刚安装的 JDK
5、配置默认 JDK
如果你安装了多个不同版本的JDK,可以通过如下命令查看已安装的JDK:
sudo update-alternatives --config java6、配置JAVA_HOME
6.1 查找路径
[root@master01 jre]# which java
/bin/java
[root@master01 jre]# ls -l /bin/java
lrwxrwxrwx. 1 root root 22 Mar 22 01:01 /bin/java -> /etc/alternatives/java
[root@master01 jre]# ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Mar 22 01:01 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre/bin/java6.2 配置JAVE_HOME
vi /etc/profileexport JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre
export PATH=$PATH:$JAVA_HOME/bin6.3 使配置生效
source /etc/profileTomcat 安装
1、创建安装目录
mkdir /usr/tomcats
cd /usr/tomcats2、下载 Tomcat
打开 Tomcat 官网 ,在左侧 Download 菜单下选择需要的版本,找到Core ->tar.gz (pgp, sha512),鼠标右键复制链接地址。
然后在Linux终端执行 wget 命令下载,wget后面为下载的版本,此处为 8.5.57
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.69/bin/apache-tomcat-8.5.69.tar.gzwget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz3、解压
tar -zxvf apache-tomcat-8.5.57.tar.gz重命名简化文件夹名称
mv apache-tomcat-8.5.57 tomcat8.54、运行
进入 bin 目录,执行以下命令启动:
./startup.sh 或者
sh startup.sh 重看启动日志
tail -f ../logs/catalina.out4、访问
浏览器输入 ip:8080 访问即可看到Tomcat默认启动界面。
Maven 安装
1、下载
wget https://ftp.yz.yamagata-u.ac.jp/pub/network/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz或
wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz2、解压
# 将apache-maven-3.6.3-bin.tar.gz拷贝到指定文件夹
cp apache-maven-3.6.3-bin.tar.gz /etc/local/apache-maven-3.6.3-bin.tar.gz
# 进入安装目录
cd /etc/local/
# 解压安装文件
tar -zxvf apache-maven-3.6.3-bin.tar.gz3、安装
3.1 仓库准备
# 新建本地仓库
mkdir maven-repository
# 修改目录权限(不然就只有root可以操作了,其他用户将无法下载jar,从而无法进行编译、打包等操作)
chmod 775 maven-repository3.2 修改配置文件
编辑conf/settings.xml文件,新增下面内容。
<!-- 在settings标签开头指定本地仓库位置 -->
<localRepository>/usr/local/apache-maven-3.6.3/maven-repository</localRepository>
<!-- 在mirrors标签中指定中央仓库配置 -->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyunmaven-maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>3.3 配置环境变量
# maven 环境变量
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin使配置生效
source /etc/profile4、验证
# 查看maven当前版本
mvn -vPython3 安装
1、创建安装目录
mkdir /usr/local/python3
cd /usr/local/python32、下载解压
在 Python官网 选择合适的版本下载,此处演示的为 3.8.0 版本。
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz解压
tar -xvzf Python-3.8.0.tgz3、编译安装
# 进入主目录
cd Python-3.8.0
# 检查配置
./configure --prefix=/usr/local/python3
# 编译、安装
make && make install
# 创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip34、测试
# 输入
python3 -V
# 输出
Python 3.8.0
# 输入
pip3 -V
# 输出
pip 19.2.3 from /usr/local/python3/lib/python3.8/site-packages/pip (python 3.8)Docker 安装
1、下载
yum install docker2、基本操作命令
启动
systemctl start docker重启 docker 服务
systemctl restart docker关闭 docker 服务
systemctl stop docker验证
docker info3、镜像操作
获取镜像
其中,NAME是镜像仓库的名称(用来区分镜像),TAG是镜像的标签(用来表示版本信息)
docker pull NAME[:TAG]查看镜像
docker images搜索镜像
docker search [image-name]删除镜像
用来删除指定镜像,其中后面的参数可以是tag,如果是tag时,实际上是删除该tag,只要该镜像还有其他tag,就不会删除该镜像。当后面的参数为镜像ID时,则会彻底删除整个镜像,连通所有标签一同删除
docker rmi NAME\IMAGEID实战 hello-world
# 拉取 hello-world 镜像
docker pull hello-world
# 查看镜像
docker images
# 启动hello-world镜像
docker run hello-world
# 出现以下信息代表启动成功
Hello from Docker!
This message shows that your installation appears to be working correctly.远程访问
首先编辑docker的宿主机文件/lib/systemd/system/docker.service
vi /lib/systemd/system/docker.service修改以ExecStart开头的行:(因为我的系统是centos 7的,所以修改为下面得)
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock如果是centos7以下的话,就把ExecStart修改为:
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375修改后保存文件,然后通知docker服务做出的修改
systemctl daemon-reload重启docker服务
service docker restart接下来测试一下看是否能连接到docker api。上面的2375就是对应端口
curl http://localhost:2375/version4、容器操作
查看容器
# 查看容器
docker ps
# 查看所有容器记录(包括未运行的容器)
docker ps -a 停止容器
docker stop IMAGEID删除容器
docker rm IMAGEIDGit 安装
安装
yum -y install git验证
git --versionNodejs 安装
1、创建安装目录
mkdir /usr/local/nodejs
cd /usr/local/nodejs2、下载解压
在 Node官网 下载需要的版本,上传到Linux服务器;
或者使用 wget 命令下载,如 14.8.0 版本:
wget https://npm.taobao.org/mirrors/node/v14.8.0/node-v14.8.0-linux-x64.tar.xz解压
tar -xvf node-v14.8.0-linux-x64.tar.xz重命名
mv node-v14.8.0-linux-x64 node14.83、建立软连接
ln -s /usr/local/nodejs/node14.8/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/node14.8/bin/node /usr/local/bin/4、验证
node -vNginx 安装
1、安装依赖环境:
在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel
安装命令:
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel2、创建安装目录
mkdir /usr/local/nginx
cd /usr/local/nginx3、下载解压
Nginx 官网 下载需要的版本,此处演示为 1.9.9 版本
wget https://nginx.org/download/nginx-1.9.9.tar.gz解压
tar -zxvf nginx-1.9.9.tar.gz4、配置
进入解压好的文件目录下,依次执行以下命令:
./configure --prefix=/usr/local/nginx
make
make install4、测试是否安装成功
回到 nginx 主目录,cd /usr/local/nginx/ 执行:
./sbin/nginx -t若提示以下信息则说明安装成功:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful5、启动Nginx
cd /usr/local/nginx/sbin
./nginx创建软连接后就不用在Nginx/sbin目录下执行命令了
ln -sv /usr/local/nginx/sbin/nginx /usr/bin/nginx然后查看Nginx进程,如果看到Nginx进程说明启动成功
ps -ef | grep nginx6、外网测试
在浏览器中输入服务器的 ip 地址,如果看到 Welcome to nginx ! 说明可以访问
如果打不开链接可能是防火墙的原因
# 查看 80 端口是否开启
firewall-cmd --query-port=80/tcp
# 开启80端口
firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
systemctl restart firewalld也有可能是服务商安全组规则限制 需要去购买服务器的平台修改。
7、配置 nginx 开机自启动
vim /etc/rc.d/rc.local插入
# 开机启动 Nginx
/usr/local/nginx/sbin/nginx8、配置 nginx.conf
vim /usr/local/nginx/conf/nginx.conf9、常用命令
nginx # 启动 nginx
nginx -s reload # 重新载入配置文件
nginx -s reopen # 重启 nginx
nginx -s stop # 停止 nginx三种启动方式
systemctl restart nginx
service nginx restart
nginx -s reloadnginx启动报 ssl parameter requires ngx_http_ssl_module
Nginx 可视化配置工具
nginxWebUI https://gitee.com/cym1102/nginxWebUI
(1)下载
sudo wget http://www.nginxwebui.cn/download/nginxWebUI-1.8.6.jar(2)启动
nohup java -jar -Xmx64m nginxWebUI-1.8.6.jar --server.port=8080 --project.home=/usr/local/nginx/web_ui/ > /dev/null &参数说明(都是非必填)
-Xmx64m 最大分配内存数
--server.port 占用端口, 默认以8080端口启动
--project.home 项目配置文件目录,存放数据库文件,证书文件,日志等, 默认为/home/nginxWebUI/
注意命令最后加一个&号, 表示项目后台运行
(3)访问
打开 http://xxx.xxx.xxx.xxx:8080 进入主页
Mysql 安装
Linux 安装
1、下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmyum安装
yum -y install mysql57-community-release-el7-10.noarch.rpm使用yum安装MySQL了,这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。
yum -y install mysql-community-server2、MySQL数据库设置
(1)首先启动MySQL
systemctl start mysqld.service(2)查看MySQL运行状态
systemctl status mysqld.service(3)找出初始密码
grep "password" /var/log/mysqld.log(4)进入数据库
mysql -uroot -p(5)修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';如果提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,说明密码过于简单,可以设置密码强度 validate_password_policy:
mysql> set global validate_password_policy=0; #设置安全级别
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=4;#默认密码长度为8,可以设置为其它值,最小4位
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
Query OK, 0 rows affected (0.01 sec)3、可视化工具登录授权
grant all on *.* to root@'%' identified by '密码';Docker 安装
1、拉取镜像
docker pull mysql:5.7 # 拉取 mysql 5.7
docker pull mysql # 拉取最新版mysql镜像2、查看镜像
docker images3、启动MySQL 镜像
(1)一般来说数据库容器不需要建立目录映射
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7- –name:容器名,此处命名为
mysql - -e:配置信息,此处配置mysql的root用户的登陆密码
- -p:端口映射,此处映射 主机3306端口 到 容器的3306端口
可以启动多个MySQL服务,因为我们启动的是容器,容器可以有多个,只要容器名字映射段端口不一样就可以了
docker run -p 3307:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
- 可以启动多个MySQL服务,因为我们启动的是容器,容器可以有多个,只要容器名字映射段端口不一样就可以了
(2)如果要建立目录映射
Copyduso docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7- -v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录
常用命令
启动:
sudo docker start pwc-mysql //通过指定容器名字
sudo docker start 73f8811f669e //通过指定容器ID关闭:
docker stop pwc-mysql //通过指定容器名字
docker stop 73f8811f669e //通过指定容器ID查看运行的镜像:
docker ps连接 MySQL
(1)Docker 本地连接
进入docker本地连接mysql客户端
docker exec -it mysql bash(2)Linux本地连接
mysql -uroot -p123456(3)远程连接
通过 Navicat 等工具进行连接。
Redis 安装
使用 Docker 进行安装
一、安装
1、 搜索镜像
docker search --limit 10 redis2、拉取镜像
docker pull redis:7.0.03、在宿主机本地创建redis配置目录和数据目录
我这里创建在 /usr/local/redis 目录下
mkdir /usr/local/redis/conf
mkdir /usr/local/redis/data4、配置文件
复制原有redis.conf到/docker/redis/目录下
修改配置(最重要主要4项:修改后台运行默认为no、端口、存放位置、开启持久化):
#密码
requirepass 123
maxclients 10000
#如果要外网访问,请注释掉下面,或者修改为0.0.0.0,保险起见,也可以把protected-mode设置为no
bind 0.0.0.0
protected-mode no
#注意修改这里端口,根据你实际暴露端口情况配置
port 6380
tcp-backlog 511
timeout 0
tcp-keepalive 300
#注意这里要把后台运行设置为no,避免docker后台运行冲突
daemonize no
supervised no
pidfile /docker/redis/redis.pid
loglevel notice
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
#注意修改这里的目录为容器内目录,默认reids进来是在/data/目录
dir /data/
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
#注意修改这里的配置,yes开启持久化,no关闭持久化
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
5、启动容器
docker run -p 6380:6380 --name redis --privileged=true -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data -d redis:7.0.0 redis-server --appendonly yes --requirepass 123参数介绍:
-p 指定容器暴露的端口 外网6380,容器6380
--name 指定容器名字
--privileged=true 挂载容器卷目录权限
-v /usr/local/redis/conf/redis.conf[宿主机配置文件]:/etc/redis/redis.conf [容器配置文件]
-v /usr/local/redis/data[宿主机数据存储位置]:/data [容器数据存储位置]
-d resdis[:版本号] 让容器在后台运行
redis-server 在容器内执行redis-server命令
--appendonly yes 打开redis持久化配置
--requirepass 123 设置redis访问密码二、验证
1、进入容器
docker exec -it redis /bin/bash2、打开客户端
redis-cli3、执行ping命令
ping发现提示:(error) NOAUTH Authentication required.,那么你的密码验证是设置成功了
4、使用密码登录
auth 123提示:(error) WRONGPASS invalid username-password pair or user is disabled.
原因:
Redis 6.0之前的版本只支持验证密码方式的权限控制,格式如下:
AUTH <password>当使用 Redis ACLs 权限控制时,AUTH 验证格式如下:
AUTH <username> <password>在 ACLs 模式下,如果传递一个密码参数给 AUTH,那么会隐式设置用户名 "default" !!
使用以下命令登录,成功。
auth default 123再ping,成功。
使用 config set requirepass <新密码> 可以修改认证密码。
5、使用以下命令测试redis
127.0.0.1:6379> auth default 123
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> get a
"1"
127.0.0.1:6379> keys *
1) "a"
127.0.0.1:6379> 三、删除容器后重新启动容器
为了验证redis持久化,删除容器后数据在宿主机不会丢失,我们尝试删除容器后重新启动
1.删除,然后查看宿主机目录下是否有持久化文件,查看这一步可以放在上一步后
[root@iZ2zehyrc36yws3fh4yl7wZ data]# docker rm -f redis
redis
[root@iZ2zehyrc36yws3fh4yl7wZ data]# docker ps -a
[root@iZ2zehyrc36yws3fh4yl7wZ data]# cd /usr/local/redis/data/
[root@iZ2zehyrc36yws3fh4yl7wZ data]# ls
appendonlydir dump.rdb2.重启容器
docker run -p 6380:6380 --name redis --privileged=true -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data -d redis:7.0.0 redis-server --appendonly yes --requirepass 123进入redis,查看数据是否存在
[root@iZ2zehyrc36yws3fh4yl7wZ data]# docker exec -it redis /bin/bash
root@09cccd9651c7:/data# redis-cli
127.0.0.1:6379> auth default 123
OK
127.0.0.1:6379> keys *
1) "a"
127.0.0.1:6379> 数据存在,成功!
参考:
Linux下安装JDK https://www.cnblogs.com/imyalost/p/8709578.html
配置yum安装的java的JAVA_HOME https://www.cnblogs.com/irobotzz/p/12594305.html
Linux 基础入门 https://www.geekdigging.com/2019/11/21/1005563697/
Linux 安装Nodejs https://www.cnblogs.com/mmzuo-798/p/11190244.html
Linux下安装nginx https://www.cnblogs.com/xxoome/p/5866475.html
Centos7搭建Nginx并提供外网访问 https://blog.csdn.net/qq_40543961/article/details/79654230
使用Docker搭建MySQL服务 https://www.cnblogs.com/sablier/p/11605606.html
Docker开启远程访问https://blog.csdn.net/longzhanpeng/article/details/82217398
nginx启动报 ssl parameter requires ngx_http_ssl_module
docker 安装redis:挂载容器卷,同时开启持久化
安全无小事—docker安装redis并设置密码验证
Linux下安装Redis开放远程连接
想想你的文章写的特别好https://www.237fa.com/
不错不错,我喜欢看 https://www.ea55.com/
哈哈哈,写的太好了https://www.cscnn.com/
哈哈哈,写的太好了https://www.lawjida.com/