一、安装基本工具
在新申请的CentOS7.5云主机上,我们还需要安装一些最基本的工具:
# 安装vim
yum install vim
# 安装netstat工具
yum install net-tools # netstat -anp | grep 80 (查看端口是否开启)
# nmap 查看对外开放的端口
yum install nmap
nmap 98.126.219.176 -p 80 (查看80端口是否对外开放,考虑防火墙)
# 上传下载工具
yum install lrzsz
rz #上传文件
# 解压缩
yum install -y unzip zip
开发环境相关软件版本:
Linux CentOS 7.5 64位
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.5.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Tomcat >=9.0
Node >=10
二、安装Nginx
1、先下载gcc
> yum install gcc pcre-devel zlib zlib-devel openssl openssl-devel
2、下载源码包
下载源码包,,选择稳定版本,解压缩安(在根目录建developer目录,然后进入该目录作为我们的开发目录装)(http://www.nginx.org/)
cd /
mkdir developer
cd /developer
wget http://nginx.org/download/nginx-1.10.2.tar.gz
3、解压缩
tar -zxvf nginx-1.10.2.tar.gz
4、编译安装
进入Nginx目录之后执行 ./configure
执行 make && make install
默认安装在 /usr/local/nginx
5、配置防火墙
安装好之后,我们可以查看80端口是否开启
netstat -anp | grep 80 #(查看端口)
然后我们通过IP访问这台服务器,但是你会发现访问不了,这是什么原因呢?
原来是因为购买的这台服务器默认开启了防火墙,80端口没有开放,所以,我们需要开放80端口
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
现在我们可以看到,Nginx服务已经可以访问了:
顺便也打开其他端口:
# 打开22端口,允许ssh远程连接
firewall-cmd --zone=public --add-port=22/tcp --permanent
# mysql,允许远程客户端可以访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
6、常用命令
/usr/local/nginx/sbin/nginx # 启动
/nginx/sbin/nginx -s reload # 重启
安装路径下的 /nginx/sbin/nginx -s stop 或:nginx -s quit # 停止
7、开机自启动
# 如果是源码安装,则需要手动创建nginx.service
systemctl start nginx.service
配置防火墙
如果你的linux是CentOS7的话启用上面的命令会报出 Unit iptables.service failed to load: No such file or directory.异常。
centos从7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。所以你只要停止firewalld服务即可:
systemctl stop firewalld.service && systemctl disable firewalld.service
systemctl start firewalld.service && systemctl enable firewalld.service
如果想要改用iptables的话,则需要安装
yum install iptables-services
systemctl stop iptables && systemctl disable iptables
systemctl start iptables && systemctl enable iptables
firewalld防火墙使用
firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;
1、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
2.firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
4.那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
三、安装jdk1.8
1、验证是否已安装JDK
[root@cs ~]# java -version
-bash: java: command not found
可以看到,没有安装。
2、JDK下载
现在下载JDK需要登录才能实现下载了,下载地址:https://www.oracle.com/techne...
3、上传到服务器
本地下载后,然后将下载压缩包上传到/developer/目录。
4、解压
tar -zxvf jdk-8u241-linux-x64.tar.gz -C /usr/local/java/ # 解压到指定/usr/local/java路径
然后我们要做一个验证, 它是否已经解压到 /usr/local/java
下了呢, 用什么命令, ls
root@cs java]# pwd
/usr/local/java
[root@cs java]# ls -l
total 0
drwxr-xr-x 7 10143 10143 245 Dec 11 02:39 jdk1.8.0_241
已经解压到 /usr/local/java
下面了, "jdk1.8.0_241"文件夹就是。
5、jdk配置环境变量
(1)、编辑profile文件
sudo vim /etc/profile
(2)、在最下方增加:
# jdk1.8 env(20200414)
export JAVA_HOME=/usr/local/java/jdk1.8.0_241
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
(3)、使配置生效
source /etc/profile
6、jdk验证
执行 java -version
命令,看到如图所示代表安装成功。
[root@cssbjqnffcsvic java]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
四、安装mysql
家都知道,centos自带的repo是不会自动更新每个软件的最新版本,所以无法通过yum方式安装MySQL的高级版本。所以,即使我使劲用yum -y install mysql mysql-server mysql-devel,也是没有人会鸟我的。
所以,正确的安装mysql5姿势是要先安装带有可用的mysql5系列社区版资源的rpm包
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
查看当前可用的mysql安装资源
yum repolist enabled | grep "mysql.*-community.*"
[root@cssbjqnffcsvic ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community 141
mysql-tools-community/x86_64 MySQL Tools Community 105
mysql56-community/x86_64 MySQL 5.6 Community Server 513
一般来说,只要安装mysql-server跟mysql-client 。这时直接使用yum的方式安装MySQL
yum -y install mysql-community-server
安装完成
#查看版本
mysql -V
mysql Ver 14.14 Distrib 5.6.40, for Linux (x86_64) using EditLine wrapper
#测试一下,本机登录不需要密码
/usr/bin/mysql
启动和开机启动
#加入开机启动
systemctl enable mysqld
#启动mysql服务进程
systemctl start mysqld
登录修改密码:
安装成功后,默认root是没有密码的,所以,我们可以直接登录:
mysql -uroot -p
设置root密码:
# 这里我们暂定为密码是admin
mysql> set password for [email protected]=password('admin');
mysql> set password for root@localhost=password('admin');
exit;
然后退出,重新登录,则需要输入密码。
新增用户
一般对外访问我们不要使用root,因为权限太大了,为了安全root超级用户只能在服务器内部localhost使用,所以,这里我们新创建一个用户,并给该用户授权及任意IP都可以访问。
1、先查看目前MySQL的用户:
mysql> select user,host from mysql.user;
mysql> select user,host from mysql.user;
+------+----------------+
| user | host |
+------+----------------+
| root | 127.0.0.1 |
| root | ::1 |
| root | cssbjqnffcsvic |
| root | localhost |
+------+----------------+
4 rows in set (0.00 sec)
2、创建用户
GRANT ALL PRIVILEGES ON *.* TO 'quant'@'%' IDENTIFIED BY '518666' WITH GRANT OPTION; #所有电脑IP都可以使用quant用户,密码为518666远程访问数据库,并且开通所有权限给该用户
#GRANT ALL PRIVILEGES ON *.* TO 'quant'@'localhost' IDENTIFIED BY '518666' WITH GRANT OPTION; #本机内部localhost可以使用quant用户,密码为518666内部访问数据库,并且开通所有权限给该用户
// insert into mysql.user(Host,User,Password) values("localhost", "emall", password("518666")); # 这种添加方式在mysql5.6会报错,所以用上边的语句
3、查询是否创建成功
mysql> select user,host from mysql.user;
+-------+----------------+
| user | host |
+-------+----------------+
| quant | % |
| root | 127.0.0.1 |
| root | ::1 |
| root | cssbjqnffcsvic |
| root | localhost |
+-------+----------------+
5 rows in set (0.00 sec)
我们可以看到,该用户已经创建成功。
4、查看用户权限
我们可以查看刚才创建的用户quant权限
mysql> select * from mysql.user where user = 'quant' \G;
mysql> select * from mysql.user where user = 'quant' \G;
*************************** 1. row ***************************
Host: %
User: quant
Password: *9ED4FFF2A197F9574379D17AEA2749770C109CDB
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string:
password_expired: N
1 row in set (0.00 sec)
ERROR:
No query specified
可以看到用户所有权限(CRUD)都开通了,我们现在可以通过Navicat远程连接该数据库了。
5、quant用户本地也可以访问
如果出先这样的错误:l.SQLException: Access denied for user 'quant'@'cssbjqnffcsvic'
,则需做以下设置:
mysql> select user,host from mysql.user;
+-------+----------------+
| user | host |
+-------+----------------+
| quant | % |
| root | 127.0.0.1 |
| root | ::1 |
| | cssbjqnffcsvic |
| root | cssbjqnffcsvic |
| | localhost |
| root | localhost |
+-------+----------------+
7 rows in set (0.00 sec)
mysql> update mysql.user set user='quant' where host = 'cssbjqnffcsvic' and user <> 'root';
Query OK, 1 row affected (0.13 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select user,host from mysql.user;
+-------+----------------+
| user | host |
+-------+----------------+
| quant | % |
| root | 127.0.0.1 |
| root | ::1 |
| quant | cssbjqnffcsvic |
| root | cssbjqnffcsvic |
| | localhost |
| root | localhost |
+-------+----------------+
7 rows in set (0.00 sec)
[root@cssbjqnffcsvic web]# mysql -uroot -p123456
mysql> GRANT ALL PRIVILEGES ON *.* TO 'quant'@'cssbjqnffcsvic' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
修改密码之后要刷新权限:
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> set password for quant@cssbjqnffcsvic=password('123456');
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql权限相关文章:
Mysql添加用户错误:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value解决方法
MySQL数据库增加用户权限GRANT/INSERT INTO user VALUES/FLUSH
MySQL安装及授权
五、Tomcat安装
1、Tomcat简介
Tomcat是一个Web容器,JavaEE程序可以在此运行。
2、安装环境
CentOS 7.5 64位,jdk 1.8, Tomcat9.0, 注意:安装Tomcat之前需要安装好jdk,jdk1.8版本需要Tomcat9.0以上对应版本。
3、安装步骤
下载(使用清华大学的下载源):
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
解压缩:
tar -zxvf apache-tomcat-9.0.34.tar.gz
解压后的文件放在该目录下:
/developer/apache-tomcat-9.0.34
为了方便后期管理,我们将Tomcat放在 /usr/local/java/
目录下,我们上边也是把jdk放在该目录下的。
cp -r /developer/apache-tomcat-9.0.34 /usr/local/java/
# mv /developer/apache-tomcat-9.0.34 /usr/local/java/
[root@css java]# pwd
/usr/local/java
[root@css java]# ls -l
total 0
drwxr-xr-x 9 root root 220 May 18 09:29 apache-tomcat-9.0.34
drwxr-xr-x 7 10143 10143 245 Dec 11 18:39 jdk1.8.0_241
配置环境文件:
(1)sudo vim /etc/profile
(2)在文件末尾增加:
# jdk1.8 env(20200517)
export JAVA_HOME=/usr/local/java/jdk1.8.0_241
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
# tomcat9.0(20200518) 新增TOMCAT
export CATALINA_HOME=/usr/local/java/apache-tomcat-9.0.34
(3)、使配置生效
source /etc/profile
4、配置utf-8字符集
因为tomcat默认不是utf-8字符集,遇到中文就乱码了,所以,这里需要配置。
cd /usr/local/java/apache-tomcat-9.0.34/conf
vim server.xml
找到配置8080
默认端口的位置,在xml节点末尾增加 URIEncoding="UTF-8"
5、Tomcat 验证
进入Tomcat目录cd /usr/local/java/apache-tomcat-9.0.34/
,进入bin目录,执行 ./startup.sh
看到如下信息提示,就表示安装成功。
[root@css bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/java/apache-tomcat-9.0.34
Using CATALINA_HOME: /usr/local/java/apache-tomcat-9.0.34
Using CATALINA_TMPDIR: /usr/local/java/apache-tomcat-9.0.34/temp
Using JRE_HOME: /usr/local/java/jdk1.8.0_241
Using CLASSPATH: /usr/local/java/apache-tomcat-9.0.34/bin/bootstrap.jar:/usr/local/java/apache-tomcat-9.0.34/bin/tomcat-juli.jar
Tomcat started.
也可以开启Tomcat机器的IP地址和默认8080端口,本机访问:http://localhost:8080
curl http://localhost:8080
Apache Tomcat/9.0.34
我们可以看到在本机内部通过curl命令可以访问成功,证明已经安装OK,如果是外网通过浏览器访问,则需要开启防火墙的8080端口,否则访问不了。
添加8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
通过浏览器访问 http://98.126.219.176:8080/, 可以看到Tomcat安装成功!
六、安装Redis
1.下载
wget http://download.redis.io/releases/redis-5.0.6.tar.gz
2.解压并安装
tar xzf redis-5.0.6.tar.gz
cd redis-5.0.6
make
make完后 redis-5.0.6
目录下会出现编译后的redis服务程序redis-server
,还有用于测试的客户端程序redis-cli
,两个程序位于安装目录 src 目录下:
3.启动redis服务
$ cd src
$ ./redis-server
如果看到下面的图,表示redis安装成功了^_^
(base) [root@cssbjqnffcsvic src]# ./redis-server
3161:C 18 May 2020 10:28:17.707 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
3161:C 18 May 2020 10:28:17.707 # Redis version=5.0.6, bits=64, commit=00000000, modified=0, pid=3161, just started
3161:C 18 May 2020 10:28:17.707 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
3161:M 18 May 2020 10:28:17.708 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.6 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 3161
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
相关文章:
CentOS7关闭/开启防火墙出现 Unit iptables.service failed to load
CentOS7使用firewalld打开关闭防火墙与端口
CentOS7为firewalld添加开放端口及相关操作
Centos7安装JDK1.8教程(入门小白篇)
centos7下安装Mysql5.6(yum方式)
Java 实战开发之环境安装(一)