手把手教你配置centos6.8 Java后端环境

                                                                   阿里云linux yum源配置

1、备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5

 

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6

 

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7

 

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、之后运行yum makecache生成缓存

 

                                                             服务器上新建用户

useradd -d /usr/whohim -m whohim

cd /usr/whohim/

passwd whohim

sudo vim /etc/sudoers

在搜索root 在下面写用户的权限跟root管理员一样

exit

登录whohim账号

                                                                       安装MySQL

 

yum -y install mysql-server

rpm -qa|grep mysql-server #检查是否安装mysql-server

字符集配置:

vim /etc/my.cnf

在mysqld节点下添加

character-set-server=utf8

default-character-set=utf8

保存退出

配置mysql的自启动:

systemctl enable mysqld   centosd6:chkconfig --level 3 mysqld on   

systemctl list-unit-files --type=service  

systemctl restart mysqld        centosd6:service mysqld restart

 

CentOS切换为iptables防火墙

切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务。

1、关闭firewall:

service firewalld stop

systemctl disable firewalld.service #禁止firewall开机启动

 

2、安装iptables防火墙

yum install iptables-services #安装

 

3、编辑iptables防火墙配置

vi /etc/sysconfig/iptables #编辑防火墙配置文件

 

下边是一个完整的配置文件:

#Firewall configuration written by system-config-firewall

 

#Manual customization of this file is not recommended.

 

*filter

 

:INPUT ACCEPT [0:0]

 

:FORWARD ACCEPT [0:0]

 

:OUTPUT ACCEPT [0:0]

 

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 

-A INPUT -p icmp -j ACCEPT

 

-A INPUT -i lo -j ACCEPT

 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

 

-A INPUT -j REJECT --reject-with icmp-host-prohibited

 

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

 

COMMIT

:wq! #保存退出

service iptables start #开启

systemctl enable iptables.service #设置防火墙开机启动

配置防火墙

sudo vim /etc/sysconfig/iptables

添加

-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

重启防火墙

systemctl  restart iptables

此时报错,遂我放弃使用iptables改用centos7.3自带的firewall,反正旧的不去新的不来,总要拥抱新技术的。

 

卸载iptable,停止服务

yum安装firewalld

sudo yum -y install firewalld

 

 sudo systemctl start firewalld

 sudo systemctl enable firewalld

 sudo systemctl status firewalld

 

sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent

直接设置端口会报这个错:firewall-cmd: command not found,要先做上两步

顺便设置80端口和3306端口

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent

最后重载:

sudo firewall-cmd --reload

 

                                                                     MySQL服务启动

1.启动MySQL服务

systemctl restart mysql

卡主没反应

然后 mysql -u root进入数据库又报 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

看不出问题,查看mysql的日志终于找到问题vim /var/log/mysqld.log

搜索 Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist

原因: 

table ‘mysql.host’不存在的原因是因为新安装的mysql服务后,一般需要执行数据库初始化操作 ,从而生成与权限相关的表,执行命令如下:

/usr/bin/mysql_install_db --user=mysql

再执行systemctl restart mysql成功。

mysql -u root进入数据库

                                                                      MySQL配置

1.查看当前用户

select user,host,password from mysql.user;

2.修改root密码:

set password for root@localhost=password('youpassword');

set password for root@127.0.0.1=password('youpassword');

3.exit退出mysql

4.重新登录mysql输入mysql -u root -p     -p, --password[=name] //输入密码  参考:(http://www.cnblogs.com/iloveyoucc/archive/2012/03/09/2388130.html

 

5.输入密码登录成功

6.删除匿名用户,执行以下sql

查看是否有匿名用户select user,host from mysql.user;

删除匿名用户delete from mysql.user where user='';

再次查看select user,host from mysql.user;

刷新,使以上操作生效flush privileges;

7.插入mysql新用户

GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

8.使操作生效flush privileges;

9.创建新的database

CREATE DATABASE `mmall`

DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

10.本地用户赋予所有权限

grant all privileges on mmall.* to yourusername@localhost identified by 'yourpassword';

11.给账号开通外网所有权限

grant all privileges on mmall.* to 'yourusername'@'%'identified by 'yourpassword';

ps:根据实际修改权限

列:grant select,insert,update on mmall.* to yourusername@'192.11.11.11'identified by 'yourpassword';

代表只开通增改查给指定账号,并指定ip地址

12使操作生效flush privileges;

                                                                

                                                               MySQL验证

1.Linux:执行ifconfig查看运行mysql服务器的ip地址

2.windows:执行ipconfig

3.使用navicat连接数据库:     

  

(参考:https://blog.csdn.net/nw_ningwang/article/details/76218997

 

                                                         创建数据库

 1. create database `mmall` default character set utf8 COLLATE utf8_general_ci;    

 2.show datebases;    

 3.grant all privileges on mmall.* to yourusername@localhost identified by 'yourpassword';     

 4.flush privileges; 

 5.将数据表移动到云上去:

   exit

   cd/product/developer/

   sudo wget  http://learning.happymmall.com/mmall.sql  

   输入密码; 

   pwd,复制路径,进入数据库

  use mmall;

  show tables;

  source  /usr/whohim/product/developer/mmall.sql

  show tables;

  查看一下表有没有数据select * from mmall_user\G;

                                                              配置git

下载git

sudo wget http://learning.happymmall.com/git/git-v2.8.0.tar.gz

git安装依赖 

sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils- MakeMaker 

解压

sudo tar -zxvf git-v2.8.0.tar.gz

cd git-2.8.0/

sudo make prefix=/usr/local/git all

sudo make prefix=/usr/local/git install

sudo vim /etc/profile

在最后一行加上: 

export PATH=/usr/local/git/bin:$PATH 

使之生效source /etc/profile

git --version

配置用户名等信息

git config --global user.name "600849155"

git config --global user.email "534801304@qq.com"

git config --global core.autocrlf false //避免系统不兼容

git config --global core.quotepath off //避免中文乱码

git config --global gui.encoding utf-8

ssh-keygen -t rsa -C "534801304@qq.com"

回车,什么都不输入

eval `ssh-agent`

ssh-add ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub

复制公钥,登录git,码云-修改资料-添加公钥

 

                                           安装Tomcat

1.下载 wget http://learning.happymmall.com/tomcat/apache-tomcat-7.0.73.tar.gz

2.解压缩 tar -zxvf apache

3.配置环境变量

sudo vim /etc/profile

export CATALINA_HOME=/product/developer/apache-tomcat-7.0.73

使配置生效source /etc/profile

4.进入安装目录config打开server.xml 8080端口后面添加URIEncoding="UTF-8"

(1).tomcat默认端口为8080,首先在云服务器控制台配置安全组规则 (2)将标签<Host>里面的name值改为你的服务器外网ip,就能通过http://你的外网ip:8080访问了

5.验证启动 [whohim@iZwz96eyhfrn3ogpu6k90xZ bin]$ ./startup.sh

 

当shutdown.sh无法关闭Tomocat:

 

1. ps -ef|grep tomcat

如显示以下内容,则说明Tomcat进程还存在着

root 2993 1 0 20:07 pts/1 00:00:04 /usr/lib/jvm/jdk1.8.0_121/jre/bin/java -Djava.util.logging.config.file=/usr/lib/tomcat/apache-tomcat-7.0.75/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/usr/lib/tomcat/apache-tomcat-7.0.75/endorsed -classpath /usr/lib/tomcat/apache-tomcat-7.0.75/bin/bootstrap.jar:/usr/lib/tomcat/apache-tomcat-7.0.75/bin/tomcat-juli.jar -Dcatalina.base=/usr/lib/tomcat/apache-tomcat-7.0.75 -Dcatalina.home=/usr/lib/tomcat/apache-tomcat-7.0.75 -Djava.io.tmpdir=/usr/lib/tomcat/apache-tomcat-7.0.75/temp org.apache.catalina.startup.Bootstrap start

root 3042 2838 0 20:17 pts/1 00:00:00 grep --color=auto tomcat

 

 

2.直接杀死进程:

kill -9 2993

 

继续查看Tomcat是否关闭,如出现以下信息则说明Tomcat已关闭

root 3044 2838 0 20:20 pts/1 00:00:00 grep --color=auto tomcat

 

3.如果想查找报错原因可以打开Tomcat目录下的logs目录打开最新的catalina文件

 

linux 配置多个tomcat:

 

按照下面的步骤操作即可部署成功:

一些具体操作命令就不详细说了,直接说有用的:

1、在 /usr/local 下部署两个Tomcat,tomcat的文件夹重命名为:tomcat6-1  、  tomcat6-2 

2、修改 linux 的profile文件,文件路径 /etc

       在profile 中增加以下内容:

JAVA_HOME=/usr/java/jdk1.7.0_45

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH

# tomcat1

CATALINA_BASE=/usr/local/tomcat6-1

CATALINA_HOME=/usr/local/tomcat6-1

export CATALINA_BASE CATALINA_HOME

# tomcat2

CATALINA_2_BASE=/usr/local/tomcat6-2

CATALINA_2_HOME=/usr/local/tomcat6-2

export CATALINA_2_BASE CATALINA_2_HOME

TOMCAT_HOME=/usr/local/tomcat6-1

export TOMCAT_HOME

TOMCAT_2_HOME=/usr/local/tomcat6-2

export TOMCAT_2_HOME

3、修改 tomcat 的配置文件

      tomcat6-1的配置文件保持不变;

      tomcat6-2的配置文件修改如下:

     修改 tomcat6-2/bin  下的文件:startup.sh 和 shutdown.sh(加入的内容一样),在文件中加入以下内容:

export JAVA_HOME=/usr/java/jdk1.7.0_45

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JAVA_HOME/bin

export CATALINA_HOME=$CATALINA_2_HOME

export CATALINA_BASE=$CATALINA_2_BASE

 

     修改 tomcat6-2/conf  下的 service.xml 文件,修改(三个地方)如下:

<Server port="8005" shutdown="SHUTDOWN">

        8005 改为 8006(其他不用的端口也可以) 

==================================================================

<Connector port="8080" protocol="HTTP/

1.1"

connectionTimeout="20000"

redirectPort="8443" />

     8080 改为 8081(其他不用的端口也可以)

===================================================================

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

      8009 改为 8010(其他不用的端口也可以)

===================================================================

4、 重新启动Linux

启动两个tomcat:

sh /usr/local/tomcat6-1/bin/startup.sh

sh /usr/local/tomcat6-1/bin/startup.sh

 

 

5、访问地址:http://192.168.0.13:8080   和   http://192.168.0.13:8081

 

6、成功。。。  

 

 

 

注:如果配置多个的话,就按照这个方法累加就OK。。。

 

 

 

                                                                Maven

Maven是什么?

Apache Maven Project -- Apache 的优秀开源项目

Maven是Java项目的构建和管理工具。

Maven能干什么?

1.用Maven可以方便的创建项目,

基于archetype可以创建多种类型的java项目

2.Maven仓库对jar包(artifact)进行统一管理,避免jar文件的重复拷贝和版本冲突

3.团队开发,Maven管理项目的RELEASE和Snapshot版本,方便多模块(Module)项目的各个模块之间的快速集成。

 

安装步骤

1.首先要确保电脑上已经安装了JDK

2.登录这里下载

https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.0.5/binaries/

3.解压

tar -zxvf apache-maven-3.0.5-bin.tar.gz

4.配置环境变量

(1) sudo vim /etc/profile 在最下面增加Maven的环境变量

(2)export MAVEN_HOME=/developer/apache-maven-3.0.5

(3)export PATH=$PATH:$JAVA_HOME/bin:

$MAVEN_HOME/bin

(4)执行source /etc/profile,使之生效,如下图所示:

(5)环境变量配置参考,访问:

https://learning.happymmall.com/env/profile

(6)执行mvn -version,进行验证,如图

 

Maven常用命令

清除命令:mvn clean

编译命令:mvn compile

打包命令:mvn package

跳过单元测试:mvn clean package -Dmaven.test.skip=true

 

                                                 vsftpd安装

 

vsftpd详细配置解读.docx

vsftpd.conf修改以下:

ftpd_banner=Welcome to whohim.top FTP service.

 

local_root=/ftpfile

 

use_localtime=yes

 

anonymous_enable=NO

pasv_min_port=61001

pasv_max_port=62000

sudo firewall-cmd --zone=public --add-port=61001-62000/tcp --permanent

sudo systemctl restart vsftpd

 

                                                 Nginx 

Nginx是什么?

是一款轻量级Web服务器、也是一款反向代理服务器

Nginx能干什么?

Nginx能干的事情很多,这里简要罗列一些:

1.可直接支持Rails和PHP的程序

2.可作为HTTP反向代理服务器

3.作为负载均衡服务器

4.作为邮件代理服务器

5.帮助实现前端动静分离

Nginx特点

高稳定、高性能、资源占用少、功能丰富、模块化结构、支持热部署

Nginx安装:

1.安装gcc 

yum -y install gcc

2.安装pcre

yum -y install pcre-devel

3.安装zlib 

yum -y install zlib zlib-devel

4.安装openssl

yum -y install openssl openssl-devel

备注:如需支持ssl,才需安装openssl

 5.下载源码包

解压缩 tar -zxvf nginx-1.10.2.tar.gz

make

make install

                        Nginx常用命令

测试配置文件

  安装路径下的/nginx/sbin/nginx -t

启动命令

  安装路径下的/nginx/sbin/nginx

停止命令

  安装路径下的/nginx.sbin/nginx -s stop,

  或者是:nginx -s quit

重启命令

  安装路径下的/nginx/sbin/nginx -s reload

查看进程命令

  ps -ef |grep nginx

平滑重启

  kill -HUP [Nginx主进程号(即查看进程命令查到的PID)]

增加防火墙80端口权限

                                                 线上防火墙

cd /etc/sysconfig/

ll  |  grep ipt

sudo iptables -P OUTPUT ACCEPT

sudo service iptables save 

ll  |  grep ipt

备份 sudo mv iptables iptables.bak

ll  |  grep ipt

复制线上的iptables    sudo wget learning.happymmall

ll  |  grep ipt

sudo vim iptables                                                 

注释开放的3306、5005、8080端口,保存退出

sudo service iptables restart

                                                

                                                 自动化发布脚本

cd /developer/

ll

sudo wget  ....deploy.sh

sudo vim deploy.sh

sudo mkdir git-repository

cd git-repository/

cd ..

cd ..

sudo chown -R whohim /developer/

ll

sudo chmod u+w -R usr/whohim/developer/

sudo chmod u+x -R usr/whohim/developer/

sudo chmod u+r -R usr/whohim/developer/

ll

cd developer  

cd git-repository

git clone git仓库上的ssh地址

ll

sudo vim deploy.sh

把目录修改成ll命令显示的目录/developer/git=repository/mmall_learning

同样的‘拷贝编译。。。’那一行的下一行的目录也要修改,修改分支名与git仓库上的匹配

 

 

cd root

看一下是不是我们上传的文件

cat index.jsp

 

上阿里云查看实例公网IP,解析域名

把IP粘贴到地址为www上面

 

修改代码里的mmall.properties、datasource.properties

ftp修改成云服务器的实例公网ip,提交代码,重新部署:

./deploy.sh

 

成功启动tomcat后

sudo service vsftpd start

上传图片,看一下日志less logs/cat,修改ftpuser,重新部署:

./deploy.sh

 

如果此时报mvn: command not found

则source /etc/profile

 

上传图片看看

 

cd apache-tomcat-7.0.73 

ll

sudo vim /usr/local/nginx/conf/

sudo vim /usr/local/nginx/conf/vhost/

sudo vim /usr/local/nginx/conf/vhost/img.happymmall.com

得知文件放在 /product/ftpfole/img/

cd /product/ftpfole/img/ 

ll     复制目录下的.jpg文件

sudo mkdir img

sudo mv ...jpg img/

ll

sudo chown ftpuser img/

sudo chgrp ftpuser img/

ll

sudo chmod g+w img/

ll

 

posted @ 2018-10-30 22:53  whomhim  阅读(711)  评论(0编辑  收藏  举报