本来这篇文章是作为自己私有记录的,所以也没有MarkDown(主要是不怎么写博客,也不熟悉)。稍微修改一下就发上来了,与其他文章的区别是一步一步地从空服务器开始,所以会有某方面不够全面的问题。当然,后面的Nginx与vsftpd没按步骤记录了...空了再补上来。
1、安装JDK
首先。确定安装jdk的路径为/usr/local/java下面。
第一步:下载64位的jdk-8u131-linux-x64.tar.gz包
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载的命令是:# curl -O那个tar.gz的url
这里的基本操作不清楚的请看下面的:3、安装tomcat
第二步:解压
# tar -zxvf
jdk-8u131-linux-x64.tar.gz(可能后面有一堆下载验证的码,无所谓,带上也行)
第三步:配置环境变量
# vim /etc/profile
打开后在文末加上如下:
#set java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_131
JRE_HOME=/usr/local/java/jdk1.8.0_131/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME
CLASS_PATH PATH
2、安装MySQL
因为MySQL被oracle收购后存在闭源风险,所以很多人都选择了mariadb。mariadb与MySQL完全兼容,但是我这里还是继续选择安装MySQL5.7。
第一步:安装mysql-devel:
# yum install mysql-devel
第二步:安装mysql-server:
https://dev.mysql.com/downloads/repo/yum/这个网址选择带download的第一项,因为我这里是centos7所以选择的第一项,复制括号里的mysql57-community-release-el7-10.noarch.rpm。然后,运行安装命令:
# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# rpm -ivh
mysql57-community-release-el7-10.noarch.rpm
# yum install
mysql-conmmunity-server
重启一下MySQL服务(好像不重启也没关系):# service mysqld restart
第三步:进入mysql试试? # mysql -uroot -p
what?要密码?是多少?我也不知道。既然不知道就重设密码吧!(网上有人说不要密码?反正我这里需要,不知道什么鬼!)方法如下:
1.先把登录需要密码的功能给干掉
# vim /etc/my.cnf
再在最后加上这一句代码:skip-grant-tables然后保存退出。
2.重启mysqld
# service mysqld restart
3.登录并修改密码
# /usr/bin/mysql
这样就直接进入了MySQL了,下面开始执行MySQL的命令:
mysql> use mysql;
mysql> update
mysql.user set authentication_string=password('你想设置的密码')
where user ='root';
使之不用重启就生效:
mysql> flush
privileges;
退出mysql:
mysql> quit
4.将MySQL的登录设置改回来(肯定需要密码吧,不能裸奔啊~)
# vim /etc/my.conf
把刚才加在最后面的最后那一句删掉(也就是这句:skip-grant-tables),然后保存退出。
5.重启mysqld
# service mysqld restart
6.修改编码
# vim /etc/my.cnf
在里面的最后加上默认的编码:
[mysql]
default-character-set=utf8
7.总不能把root账号作为开发账号吧?那就新建一个(具体多少个随你需求)账号:
# mysql -uroot -p
输入密码进入mysql后添加一个test账号试试?
mysql> create user
'username'@'%' identified by 'password';(注:%是通配符,也可以是其他ip地址或localhost)
发现报错了:mysql error You must reset your password using
ALTER USER statement before executing this statement.
它是说你得先重设你的密码后才能继续操作,之前虽然改过密码了,但是这里不知道为什么还是要验证一下让我们重新设置,当然,我们可以设置为之前的密码。。。不过,如何解决呢?
①myql> SET PASSWORD =
PASSWORD('your new password');
或
mysql> set password
for 'dev1'@'%' = password('dev1');
如果你的密码太简单,比如就输入123456等等之类的
发现又报错了:Your password does not satisfy the current
policy requirements
如何解决①这个错误呢?
1.把优先级调成0(low):只验证密码的长度。
mysql> set global
validate_password_policy=0;
2.设置最小密码长度为n位,比如你只想设置一个最低4位密码的验证,那n就为4吧!
mysql> set global
validate_password_length=4;
现在你就可以执行①那句:mysql> SET PASSWORD =
PASSWORD('your new password');
②mysql> alter user
'root'@'localhost' password expire never;
③mysql> flush
privileges;
现在你就可以添加用户咯(如上):mysql> create user 'username'@'%'
identified by 'password';
④为用户授权某个db的使用权
语法:grant [select|update|all] on
db_name.table_name to 'user'@'auth_option';详细请见mysql> help grant;
mysql> grant all
privileges on test_mydb.* to 'dev1'@'%';
mysql> flush
privileges;
8.添加开机启动
# vim /etc/rc.local
添加如下代码:
service mysqld start
9.添加远程访问权限
下面的root是账号,%是代表所有ip都能访问,把%替换为ip地址也是可以的.
mysql> grant all
privileges on *.* to 'root'@'%' identified by '123456' with grant option;
或
mysql> use mysql;
mysql> update user set
host='%' where user='root';
然后退出后重启一下mysql就好了。
# systemctl restart
mysqld
3、安装tomcat
我这里选择的是最新的tomcat最新版tomcat 9.0.0.M20,官方网址:
http://tomcat.apache.org/download-90.cgi?Preferred=http%3A%2F%2Fmirror.bit.edu.cn%2Fapache%2F
点击core:里面的tar.gz,这是在你浏览器里开始下载了,如果你是跟我一样的chrome浏览器:暂停下载,然后'显示下载内容'右键'复制链接地址',其实就是为了要的这个链接地址而已。
1.进入目标目录
# cd /usr/local
2.创建tomcat目录(这一步不是必须的,因为我是想的新建一个tomcat目录可以再在里面安装tomcat的,目的是在这个文件夹里可以装几个版本的tomcat,如果你没这个需求就不用了,就放到/usr/local下面也没关系)
# mkdir tomcat
# cd tomcat
3.下载tomcat的tar.gz文件
# wget
http://xxxxxxx/tomcat.xxx.tar.gz(这个网址就是之前在浏览器复制的那个包的地址,粘贴到这就行了)
4.下载完成后就解压
# tar -zxvf
apache-tomcat-xxx.tar.gz(这里的xxx是看你下载的那边版本,反正就是你刚下载的那个文件)
5.已经解压后就删除之前那个tar.gz的压缩包吧!
# rm -rf
apache-tomcat-xxx.tar.gz
6.启动tomcat:
# cd
/usr/local/tomcat/apache-tomcat-9.0.0.M20/bin
# ./startup.sh
7.因为centos现在默认的是firewalld而不是iptables了,所以先禁用firewalld(防火墙!!!)
# systemctl disable firewalld
8.安装iptables(如果有停下来需要你确认的地方,按y然后回车就好了。如果不想按y,可以设置默认为y。例如:# yum -y iptables-service)
# yum install
iptables-services
9.配置iptables,在里面添加8080等你需要的端口
# vim
/etc/sysconfig/iptables
在里面你会发现默认有一些东西,如果没有你就自己上网搜如何配置吧!
找到并鼠标选中后复制如下一行:
-A INPUT -p tcp -m state
--state NEW -m tcp --dport 22 -j ACCEPT
再在它下面粘贴n行,如果你要开放某个端口就复制一行。我这里复制一行,然后就如下样子了:
-A INPUT -p tcp -m state
--state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state
--state NEW -m tcp --dport 22 -j ACCEPT
修改第二行的22端口为8080,然后保存退出。
# :wq
10.启用iptables服务
# systemctl enable
iptables
# systemctl start
iptables.service
11.验证
在你电脑上的浏览器输入your_ip:8080试试?
12.配置tomcat环境变量
配置的目的是随便在哪个路径下都可以./startup.sh来启动或./stutdown.sh来关闭tomcat。
# vim /etc/profile
我这里就直接粘贴的环境变量给大家了:
#set java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_131
JRE_HOME=/usr/local/java/jdk1.8.0_131/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
#set tomcat environment
TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M20
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M20
#path config
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$TOMCAT_HOME/bin
export JAVA_HOME JRE_HOME
TOMCAT_HOME CATALINA_HOME CLASS_PATH PATH
13.这时其实你会发现一个问题,那就是tomcat启动后,打开网址要转很久很久地圈,可能几十秒-十几分钟不等。具体原理是那个熵池的锅,具体是什么玩意儿我也不清楚。这里就贴网上的解决办法:
# yum install rng-tools
# systemctl start rngd
这样应该就行了,但是如果你的cpu不支持DRNG特性或者使用的是虚拟机可以使用/dev/unrandom来模拟。
# cp
/usr/lib/systemd/system/rngd.service /etc/systemd/system
# vim
/etc/systemd/system/rngd.service
以下是编辑内容:
ExecStart=/sbin/rngd -f
-r /dev/urandom
重启一下:
# systemctl daemon-reload
# systemctl restart rngd
14.配置tomcat的开机启动,毕竟服务器难免宕机(其实阿里云这玩意儿确实不怎么会,但是自己手动搞宕机了呢?不用再手动去重启一下tomcat呀!)
①tomcat需要增加一个pid文件
在tomcat/bin目录下面,增加setenv.sh配置,catalina.sh启动的时候会调用,同时配置java内存参数
# cd
/usr/local/tomcat/apache-tomcat-9.0.0.M20/bin
# vim setenv.sh
复制如下代码到里面并保存退出:
#tomcat启动pid
export
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M20
export
CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M20
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add Java opts
JAVA_OPTS="-server
-XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m
②在/usr/lib/systemd/system目录下增加tomcat.service,目录必须是绝对目录
# vim /usr/lib/systemd/system/tomcat.service
复制如下代码到里面并保存退出:
[Service]
Type=forking
PIDFile=/usr/local/tomcat/apache-tomcat-9.0.0.M20/tomcat.pid
ExecStart=/usr/local/tomcat/apache-tomcat-9.0.0.M20/bin/startup.sh
ExecReload=/bin/kill -s
HUP $MAINPID
ExecStop=/bin/kill -s
QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
##[unit]配置了服务的描述,规定了在network启动之后执行,
##[service]配置服务的pid,服务的启动,停止,重启
##[install]配置了使用用户
③其实前面2步只是配置了一个tomcat.service。但是,现在就可以用systemctl命令来管理咯!下面是systemctl的基本使用方法(下面的name是服务的名称,后面的.service其实也可以不加):
查看服务状态
# systemctl status
name.service
启动服务
# systemctl start
name.service
停止服务
# systemctl stop
name.service
重启服务
# systemctl restart
name.service
增加开机启动
# systemctl enable
name.service
删除开机启动
# systemctl disable
name.service
④现在把tomcat.service加入到开机启动里面吧!
# systemctl enable
tomcat.service
⑤查看一下状态呢?
# systemctl status
tomcat.sercie
如果不是类似如下状态那就是没配好:
● tomcat.service - Tomcat
Loaded: loaded
(/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active:active (running)since Sat 2017-04-22
18:34:42 CST; 13min ago
Main PID: 2242 (java)
CGroup:
/system.slice/tomcat.service
└─2242
/usr/local/java/jdk1.8.0_131/jre/bin/java -Djava.util.loggi...
Apr 22 18:34:42
iz2ze0k7zwwksqhk2zq3c7z systemd[1]: Starting Tomcat...
Apr 22 18:34:42
iz2ze0k7zwwksqhk2zq3c7z startup.sh[2234]: /usr/local/tomcat/a...
Apr 22 18:34:42
iz2ze0k7zwwksqhk2zq3c7z startup.sh[2234]: /usr/local/tomcat/a...
Apr 22 18:34:42
iz2ze0k7zwwksqhk2zq3c7z startup.sh[2234]: Tomcat started.
Apr 22 18:34:42
iz2ze0k7zwwksqhk2zq3c7z systemd[1]: Started Tomcat.
Hint: Some lines were
ellipsized, use -l to show in full.
如果提示的是如下:
Neither the JAVA_HOME nor
the JRE_HOME environment variable is defined
哦,对了,那就是忘了配置catalina.sh里面的环境变量!
# vim
/usr/local/tomcat/apache-tomcat-9.0.0.M20/bin/catalina.sh
再#!/bin/sh的下一行(因为前面那个是代表shell脚本,所以得在他下面)加入后保存退出:
export
JAVA_HOME=/usr/local/java/jdk1.8.0_131
export
JRE_HOME=/usr/local/java/jdk1.8.0_131/jre
现在运行一下如下命令重新载入一下:
# systemctl daemon-reload
现在应该可以使用③里面的那些命令了(还不行?咱们使用一下重启大法:# reboot)。
⑥测试是否已正常加入开机启动?
# reboot
然后再在启动后运行:
# systemctl status
tomcat.service试试,看看active的状态是否是:active?或者直接访问yourip:8080看看是否正常启动了?
⑦改8080端口为80,因为我这里是买的阿里云的,所以你知道要为什么要改为80撒?你需不需要改看你自己的情况
# vim
/usr/local/tomcat/apache-tomcat-9.0.0.M20/conf/server.xml
重启一下tomcat
# systemctl restart
tomcat
⑧在浏览器访问一下试试?
附:启动多个tomcat
1、修改端口
①复制成2份tomcat(直接复制tomcat的文件夹),我这里的tomcat1为:apache-tomcat-9.0.0.M20,tomcat2为:apache-tomcat-9.0.0.M202,所以后面的操作均为我本机的改法,触类旁通吧!
# cp tomcat1 tomcat2
②配置必须不同的端口
# vim
/usr/local/tomcat/apache-tomcat-9.0.0.M202/conf/server.xml
修改如下端口:
shutdown="SHUTDOWN">
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444"
/>
protocol="AJP/1.3" redirectPort="8444" />
2、增加tomcat2.service来配置自启动(当然,你也可以直接在/etc/rc.d/rc.local中加入tomcat-path/bin/startup.sh的方式来配置自启动,当然,这样就不能用systemctl start tomcat的方式来启动了哈),其实方式跟新配置一个tomcat没什么区别,上面已经提到了。
①配置环境变量
# vim /etc/profile
②增加pid
# vim /usr/local/tomcat/apache-tomcat-9.0.0.M202/bin/setenv.sh
复制粘贴如下代码:
#tomcat启动pid
export
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M202
export
CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M202
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat2.pid"
#add Java opts
JAVA_OPTS="-server
-XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m
③配置tomcat2.service
# vim
/usr/lib/systemd/system/tomcat2.service
复制粘贴如下代码:
[Service]
Type=forking
PIDFile=/usr/local/tomcat/apache-tomcat-9.0.0.M202/tomcat.pid
ExecStart=/usr/local/tomcat/apache-tomcat-9.0.0.M202/bin/startup.sh
ExecReload=/bin/kill -s
HUP $MAINPID
ExecStop=/bin/kill -s
QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
##[unit]配置了服务的描述,规定了在network启动之后执行,
##[service]配置服务的pid,服务的启动,停止,重启
##[install]配置了使用用户
4、安装并配置ftp
通过与chroot_local_user=YES/NO搭配能实现以下几种效果:
1、当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
2、当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
3、当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
4、当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
#不加下面这一句会出现:500 OOPS: vsftpd: refusing to run withwritable root inside chroot()
allow_writeable_chroot=YES
#如果userlist_enable=YES
#那么userlist_deny=NO就代表/etc/vsftpd/user_list里面的用户是白名单
#否则userlist_deny=YES就代表/etc/vsftpd/user_list里面的用户是黑名单
添加用户:
useradd your_username
#增加用户userName,设置该用户的主目录为/home/ftp,禁止登录SSH权限
# -d:指定主目录
# -g:设置用户的群组
# -s:设置SSH权限
# -p:设置密码
useradd -d /home/ftp -g
ftp -s /sbin/nologin userName -p password
#修改用户密码:
passwd userName
5、安装并配置Nginx
1、安装
2、配置
# vim /usr/local/nginx/conf/nginx.conf
网友评论
# yum install
mysql-conmmunity-server 时报错
[root@JD /]# yum install mysql-conmmunity-server
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
No package mysql-conmmunity-server available.
Error: Nothing to do
该怎么解决呢请问