linux 软件安装

查看系统版本

lsb_release -a
uname -a
cat /proc/version


设置密码

购买成功后会有个远程登录密码的6位数,先记下来,以后登录都要用

然后第一次登录前先要重置root实例密码,然后重启服务器,之后就可以远端登录阿里云服务器了

添加非root用户

groupadd admin 

#新建web用户并增加到admin工作组 
# -r 建立系统账号,不可用于登录系统 
# -s 用户登入后所使用的shell。默认值为/bin/bash
# -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
# -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
# -p:–password PASSWORD 指定新用户的密码

# -n:取消建立以用户名称为名的群组
# -m:自动建立用户的登入目录。 -M:不要自动建立用户的登入目录。建立系统账号。
# -g:指定用户所属的群组。
useradd -g admin web   

useradd -r -g mysql -s /bin/false mysql

# groupadd nginx
# useradd -M -s /sbin/nologin -g nginx nginx

passwd web //给web 用户设置密码

gpasswd -a web admin    #给web用户设置admin用户组 
usermod -G admin web    #给web用户设置admin附属用户组  

useradd 语法

安装软件

  1. 安装jdk
    jdk7下载地址
    jdk8下载地址

环境配置

tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/local

cd /usr/local/jdk1.8.0_201

#配置环境变量到 /etc/profile
#set java environment
export JAVA_HOME=/usr/local/jdk1.8.0_201
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH


# 使配置文件生效
source /etc/profile

# 查看java版本
java -version

# 如果为某个用户安装指定jdk版本,则可以在   /home/username/.bash_profile 里配置

环境变量设置

  1. 安装redis
    下载redis

配置

# 下载
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
# 解压
tar zxvf redis-5.0.3.tar.gz -C /usr/local/

# -s : 进行软链结(symbolic link)
# -v : 在连结之前显示其档名
ln -sv redis-5.0.3/ redis

# 安装  make 是用来编译的,它从Makefile中读取指令,然后编译。 make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。 
cd redis
make 
cd src
make install PREFIX=/usr/local/redis

# 创建放置的文件夹
cd ..
mkdir -p /usr/local/redis/etc
# 移动配置文件
cp redis.conf etc/

#### 修改默认配置参数####
# redis pid 文件位置
pidfile /var/run/redis_6379.pid

port

#将绑定的本机给注释掉
bind 127.0.0.1
# 不开启保护模式
protected-mode no
#将redis-service设置为后台服务
daemonize yes
#设置redis-cli连接redis服务器的密码
requirepass 123456
#######################

#  将redis加入到开机启动文件中   /etc/rc.local

echo "/usr/local/bin/redis-server /etc/redis/redis.conf &" >> /etc/rc.local

或者
vi /etc/rc.local 
   新增如下(意思就是开机调用这段开启redis的命令):
    /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 

# 启动服务
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 

# 启动客户端  如果设置 密码,则要输入密码
 bin/redis-cli

#创建redis命令软连接
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
输入redis进入进行控制台

redis添加到系统服务

防火墙端口设置

centos 7.3防火墙设置

# 开放6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重启防火墙,否则开放端口不起作用
firewall-cmd --reload


#查看firewall服务状态
systemctl status firewalld

#查看firewall的状态
firewall-cmd --state
service firewalld start|stop|restart
#查看防火墙规则
firewall-cmd --list-all


vi /etc/sysconfig/iptables-config

一切配置好以后外网还是无法访问,此时需要在阿里云上设置 一下端口。
阿里云ECS云服务器,自主下载安装的redis服务外网无法访问

3 安装mysql

Centos7安装并配置mysql5.6完美教程

mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 下载的是linux通用版。
下载地址 linux通用社区版
https://downloads.mysql.com/archives/community/
https://blog.csdn.net/qq_24641227/article/details/92626902

https://downloads.mysql.com/archives/community/

https://blog.51cto.com/10461810/2299076
https://blog.csdn.net/qq_28358461/article/details/90346349
https://www.cnblogs.com/kiko2014551511/p/11532125.html
https://blog.csdn.net/qq_30725371/article/details/81628317

#卸载mariadb
rpm -qa|grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

# 安装依赖包
yum install -y perl-Module-Install.noarch
yum -y install libaio.so.1

# 安装MySQL-server-5.6.42-1.el7.x86_64.rpm,MySQL-client-5.6.42-1.el7.x86_64.rpm,MySQL-devel-5.6.42-1.el7.x86_64.rpm
 rpm -ivh  MySQL-server-5.6.42-1.el7.x86_64.rpm

cp /usr/share/mysql/my-default.cnf  /etc/my.cnf

service mysql start
service mysql stop:停止mysql
service mysql restart:重启mysql


vi /root/.mysql_secret

SET PASSWORD = PASSWORD('123456');    #设置密码为123456

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

FLUSH PRIVILEGES; 

权限

wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
tar zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local/
mv mysql-5.6.43-linux-glibc2.12-x86_64/ mysql-5.6.43
ln -sv mysql-5.6.43/ mysql

cd mysql
mkdir -p data/mysql
chown -R mysql:mysql ./

# 安装autoconf库
yum -y install autoconf 
yum install -y libaio

#安装并指定用户和data文件夹位置
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

#复制mysql到服务自动启动里面
cp support-files/mysql.server /etc/init.d/mysqld
#修改权限为755 也就是root可以执行
chmod 755 /etc/init.d/mysqld

#复制配置文件到etc下,因为默认启动先去etc下加载配置文件
cp support-files/my-default.cnf /etc/my.cnf 

-a保留链接、文件属性,并复制目录下的所有内容
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中

service mysqld start|status

#设置root密码 也可以用6.6先登录root,然后用脚本设置密码
./bin/mysqladmin -u root password 'new-password'

#添加系统服务
chkconfig --add mysqld 
chkconfig --list

#设置开机自启动
chkconfig mysqld on


#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin 
source /etc/profile

# 6.6测试连接
mysql -uroot 

mysql>SET PASSWORD FOR 'root'@'%' = PASSWORD('newpass');
mysql>update user set password=PASSWORD("这里输入root用户密码") where User='root';

mysql>use mysql
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'new_password' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES; 
mysql>quit

mysql> create user dev@'%' identified by '123456';
mysql> grant all privileges on *.* to 'dev'@'%' identified by '123456';WITH
GRANT OPTION;//让该用户可以授权

### 视图
grant create view on username.* to data@'%'; 
grant show view on username.* to data@'%';

GRANT ALL PRIVILEGES ON 数据库名.* TO 用户名@'%' IDENTIFIED BY '数据库密码';


CREATE USER 'username'@'host' IDENTIFIED BY 'password

GRANT all privileges or (SELECT, INSERT ) ON databasename.tablename TO 'username'@'host' 

# 查看授予的权限
SHOW GRANTS FOR 'user'@'%';

# 撤销用户权限 
REVOKE privilege ON databasename.tablename FROM 'username'@'host'; 

grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
grant all privileges on testDB.* to test@localhost identified by '1234'; 关键字 “privileges” 可以省略

用户权限密码设置
mysql 创建一个用户,指定一个数据库

安装成功后的提示

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

  ./bin/mysqladmin -u root password 'new-password'
  ./bin/mysqladmin -u root -h izbp13mm1i2z6inxd5lkvjz password 'new-password'

Alternatively you can run:

  ./bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd . ; ./bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.

WARNING: Found existing config file ./my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as ./my-new.cnf,
please compare it with your file and take the changes you need.

memcache 安装

https://www.cnblogs.com/lxwphp/p/11133450.html

yum install libevent libevent-devel

yum install memcached  

systemctl enable memcached
systemctl start memcached

nginx安装

下载地址
https://www.cnblogs.com/jeffhong99/p/11362361.html

nginx的镜像仓库地址:[http://nginx.org/packages/](http://nginx.org/packages/)
rpm -ivh  

# yum安装
yum install nginx -y 
# 通过离线包管理命令rpm查看版本
rpm -qa | grep  -i nginx

     执行目录:/usr/sbin/nginx
     模块所在目录:/usr/lib64/nginx/modules
     配置所在目录:/etc/nginx/
     默认站点目录:/usr/share/nginx/html
 
     主要配置文件:/etc/nginx/nginx.conf 指向:/etc/nginx/conf.d/default.conf
 
 
     PID目录:/var/run/nginx.pid
     错误日志:/var/log/nginx/error.log
     访问日志:/var/log/nginx/access.log

#nginx配置文件default.conf      Nginx配置网站 www.nginxconfig.io
vi /etc/nginx/conf.d/default.conf

##启动
systemctl start nginx.service
#也可以直接输入nginx
nginx
#在service 中
service nginx start

    systemctl start nginx.service
    systemctl stop nginx.service
    systemctl reload nginx.service
    systemctl status nginx.service

#查看端口被占用情况
netstat -antp | grep :80(查看80端口被哪个服务占用)or netstat -antpuel  | grep ":22" | grep  -v grep
netstat -antp | grep :(查看所有端口占用情况)
netstat -tunlp|grep 端口号
ps aux | grep nginx(查看nginx进程运行状态)or ps aux | grep :80 | grep -v grep(过虑grep本身)
lsof -i:端口号


# 防火墙
systemctl status firewalld
systemctl is-enabled firewalld   # 查看开机是否启动防火墙服务  

systemctl stop firewalld
systemctl disable firewalld



nginx -s reload
nginx -s stop
nginx –t
nginx –v

#查看nginx首页信息
curl localhost


# yum 卸载  –nodeps是强力删除
rpm -e --nodeps nginx-*
-ev


# 编译安装查看版本
sbin/nginx -V

//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

# 下载 
wget http://nginx.org/download/nginx-1.15.10.tar.gz

tar -zxvf nginx-1.15.10.tar.gz -C /usr/local/
cd /usr/local
ln -sv nginx-1.15.10/ nginx

cd nginx
# [linux命令useradd添加用户详解](https://www.cnblogs.com/irisrain/p/4324593.html)
# [linux如何查看所有的用户和组信息?](https://www.cnblogs.com/xiohao/p/5877256.html)

#新建web用户并增加到admin工作组 
# -r 建立系统账号,不可用于登录系统 
# -s 用户登入后所使用的shell。默认值为/bin/bash
# -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
# -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
# -p:–password PASSWORD 指定新用户的密码

# -n:取消建立以用户名称为名的群组
# -m:自动建立用户的登入目录。 -M:不要自动建立用户的登入目录。建立系统账号。
# -g:指定用户所属的群组。
useradd -s /sbin/nologin nginx
useradd -r nginx #创建一个nginx系统用户
程序默认是使用 nobody 身份运行的,我们建议使用 nginx 用户来运行,首先添加Nginx组和用户,不创建家目录,不允许登陆系统
# groupadd nginx
# useradd -M -s /sbin/nologin -g nginx nginx

//执行命令
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf         --user=nginx  --group=nginx  --with-http_ssl_module
//执行make命令 make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件
make
//执行make install命令 make install是把这些编译出来的可执行文件和库文件复制到合适的地方
make install

#设置参数 server:listen,server_name
vi /usr/local/nginx/nginx.conf

#判断Nginx配置是否正确命令
/usr/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -s reload

sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ps -ef | grep nginx
ps -aux | grep nginx 
lsof -i:端口号


# 检查80端口是否被暂用
netstat -ntulp |grep 80
netstat -alnp|grep 80

cd sbin/

./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload  :平滑重启
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

# Nginx虚拟域名配置及测试验证
//编辑nginx.conf
sudo vim /usr/local/nginx/conf/nginx.conf
//增加行 
include vhost/*.conf
//保存退出

//在/usr/local/nginx/conf目录新建vhost文件夹
mkdir vhost
//创建每个域名的配置
sudo vim jimisun.com.conf
//节点中增加入响应的配置 端口转发  或者访问文件系统

#查看安装模块  只适合查看自己添加的参数、编译时附带的可选模块或三方模块
/usr/local/nginx/sbin/nginx -V

2>&1 nginx -V | tr ' '  '\n'|grep ssl

#查看默认安装的模块
cat /usr/local/nginx/auto/options | grep YES  ----筛选出以及可以安装的包,这个包括自定义安装的   

https://segmentfault.com/a/1190000002797606

安装例子
http://www.nginx.cn/4658.html
https://segmentfault.com/a/1190000002797606
https://www.jianshu.com/p/acf625d7046e

tomcat 安装

下载 地址

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.39/bin/apache-tomcat-8.5.39.tar.gz
tar -zxvf apache-tomcat-8.5.39.tar.gz -C /usr/local/
cd /usr/local
ln -sv apache-tomcat-8.5.39/ tomcat8


netstat -alnp | grep 8009
lsof -i:端口号


# 配置 tomcat 帐号密码权限(登陆使用Web管理界面)
vi conf/tomcat-users.xml

<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="admin-script"/>
<user username="tomcat" password="qwqwqwt" roles="tomcat,manager-gui,admin-gui,admin-script,manager-script"/>

username 和 password 则是登陆tomcat管理界面需要的账号密码。


 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        <Context path="" debug="0" docBase="newproject" reloadable="true"></Context>
      </Host>



# 或者
在 /usr/local/tomcat/conf/Catalina/localhost目录下创建ROOT.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/usr/local/tomcat71/mywebapps/appname"></Context>

如果你的项目成名是:mypro,那你的文件命名为:mypro.xml。 不需要 path 配置,加上也没什么用
文件里一句话:<Context docBase="D:\Workspaces\mypro\WebRoot" path="/mypro" reloadable="true"/> 


在Linux安装配置Tomcat 并部署web应用 ( 三种方式 )
https://www.cnblogs.com/ysocean/p/6893446.html
https://blog.csdn.net/hwhua1986/article/details/78436128

https://www.cnblogs.com/wangcMove/p/7606051.html
从配置文件中查看Tomcat的8005、8009,8080端口的作用
解决linux下tomcat的shutdown命令杀不死进程
https://www.cnblogs.com/dannylinux/p/9475256.html
https://www.cnblogs.com/gaojiang/p/6553260.html

安装Maven环境

下载

#下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
 
ln -sv apache-maven-3.6.1/ maven

#设置环境变量/etc/profile
export MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:${PATH}
or
echo 'export PATH=/usr/local/maven/bin:$PATH'>>/etc/profile
echo 'export PATH=/usr/local/maven/bin:$PATH'>>~/bash_profile
source /etc/profile   ~/bash_profile

mvn -version

Linux 搭建安装Maven环境

:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容