在Linux上部署Java项目
1. 安装JDK
方法一:
1. 下载jdk包,上传到对应目录/usr/java解压
2. 配置环境变量
vim /etc/profile 在文件末尾插入以下内容
JAVA_HOME=/usr/local/envir/jdk1.8
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH
3. 运行:source /etc/profile
4. 验证:java -version
方法二:
1. wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
2. 运行安装:rpm -ivh jdk1.7
3. 配置环境变量
vim /etc/profile 在文件末尾插入以下内容
JAVA_HOME=/usr/java/jdk1.8.0_191
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH
4. 运行:source /etc/profile
5 .验证:java -version
2. 安装Redis
1. 配置编译环境:
sudo yum install gcc-c++
2. 下载源码:
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
3. 解压源码:
tar -zxvf redis-3.2.8.tar.gz
4. 进入到解压目录:
cd redis-3.2.8
5. 执行make编译Redis:
make MALLOC=libc
6. 安装Redis:
make install
7. 配置Redis能随系统启动:
./utils/install_server.sh
8. 防火墙打开6379端口:
方法一:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
启动防火墙:systemctl start firewalld
firewall-cmd --reload
方法二:
iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
systemctl restart firewalld.service
9. 开启远程访问:
vi redis.conf
bind 127.0.0.1这一行注释掉,或者bind 0.0.0.0
protected-mode 要设置成no
daemonize no 改成daemonize yes
10. 配置redis为后台启动
vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes
开启redis:/usr/local/envir/redis/src/redis-server /usr/local/envir/redis/etc/redis.conf
将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用
cp /usr/local/envir/redis/src/redis-server /usr/local/bin/
cp /usr/local/envir/redis/src/redis-cli /usr/local/bin/
启动redis:redis-server &
关闭redis:redis-cli shutdown
3. Mysql 安装
1. 下载tar包,这里使用wget从官网下载
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
2. 将mysql安装到/usr/local/mysql下
3. 解压
tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
4. 移动
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/
5. 重命名
mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/envir/mysql
6. 新建data目录
mkdir /usr/local/envir/mysql5.7/data
7. 新建mysql用户、mysql用户组
# mysql用户组
groupadd mysql
# mysql用户
useradd mysql -g mysql
8. 将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/envir/mysql5.7
9. 配置
/usr/local/envir/mysql5.7/bin/mysql_install_db --user=mysql --basedir=/usr/local/envir/mysql5.7/ --datadir=/usr/local/envir/mysql5.7/data
**# 如果出现以下错误**:
2018-07-14 06:40:32 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2018-07-14 06:40:32 [ERROR] Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32
2018-07-14 06:40:32 [ERROR] Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/usr/local/mysql/data --lc-messages-dir=/usr/local/mysql/share --lc- messages=en_US --basedir=/usr/local/mysql
-- server log begin --
-- server log end --
**# 则使用以下命令**:
/usr/local/envir/mysql5.7/bin/mysqld --user=mysql --basedir=/usr/local/envir/mysql5.7/ --datadir=/usr/local/envir/mysql5.7/data --initialize
**# 如果出现以下错误**:
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
**# 则执行以下命令**:
yum -y install numactl
**#如果出现以下错误**:
2020-07-02 14:00:58 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2020-07-02 14:00:58 [ERROR] Child process: /usr/local/envir/mysql/bin/mysqldterminated prematurely with errno= 32
2020-07-02 14:00:58 [ERROR] Failed to execute /usr/local/envir/mysql/bin/mysqld --bootstrap --datadir=/usr/local/envir/mysql/data --lc-messages-dir=/usr/local/envir/mysql/share --lc-messages=en_US --basedir=/usr/local/envir/mysql
-- server log begin --
/usr/local/envir/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or director
**# 则执行以下命令**:
yum install libaio-devel.x86_64
不成功则执行:yum install -y libaio
**# 完成后继续安装**:
/usr/local/envir/mysql5.7/bin/mysqld --user=mysql --basedir=/usr/local/envir/mysql5.7/ --datadir=/usr/local/envir/mysql5.7/data --initialize
10. 编辑/etc/my.cnf
[mysqld]
datadir=/usr/local/envir/mysql5.7/data
basedir=/usr/local/envir/mysql5.7
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
11. 开启服务
# 将mysql加入服务
cp /usr/local/envir/mysql5.7/support-files/mysql.server /etc/rc.d/init.d/mysql
12. 赋予可执行权限:chmod +x /etc/init.d/mysql
13. 添加为服务: chkconfig --add mysql
14. 开机自启
chkconfig mysql on
15. 开启mysql服务
service mysql start
16. 设置密码
# 登录(由于/etc/my.cnf中设置了取消密码验证,所以此处密码任意)
/usr/local/envir/mysql5.7/bin/mysql -u root -p
# 操作mysql数据库
>>use mysql;
# 修改密码
>>update user set authentication_string=password('你的密码') where user='root';
update user set authentication_string = password('ziqiu@123') where user = 'root';
>>flush privileges;
>>exit;
17. 将/etc/my.cnf中的skip-grant-tables删除
18. 登录再次设置密码(如果操作不了数据库,再次设置密码)
/usr/local/envir/mysql5.7/bin/mysql -u root -p
>>ALTER USER 'root'@'localhost' IDENTIFIED BY 'ziqiu@123';
19. 允许远程连接
/usr/local/envir/mysql5.7/bin/mysql -u root -p
>>use mysql;
>>update user set host='%' where user = 'root';
>>flush privileges;
>>exit;
20. 添加快捷方式
ln -s /usr/local/envir/mysql5.7/bin/mysql /usr/bin
4. 安装Nginx
1. 在安装nginx之前要安装nginx所需的依赖lib:
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
2. 上传 nginx 安装文件
3. 解压后进入nginx目录编译安装nginx,并添加fastdfs-nginx-module:
./configure --prefix=/usr/local/nginx #解压后nginx-module所在的位置
4. 如果配置不报错的话,就开始编译:
make && make install
**错误为**:
./configure: error: the HTTP rewrite module requires the PCRE library.
**安装pcre-devel解决问题**
yum -y install pcre-devel
**错误提示**:
./configure: error: the HTTP cache module requires md5 functions from OpenSSL library. You can either disable the module by using
--without-http-cache option, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using
--with-http_ssl_module --with-openssl=<path> options.
**解决办法**:
yum -y install openssl openssl-devel