查看系统版本
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附属用户组
安装软件
环境配置
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 里配置
- 安装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进入进行控制台
防火墙端口设置
# 开放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
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” 可以省略
安装成功后的提示
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 "%r" %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
: