从零开始搭建Linux服务器开发运行环境-详细步骤

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 https://blog.csdn.net/Lin_xiaofeng/article/details/87454717

大家好,久违了!

时隔一年,我发表的上一篇博客年后第一更,谈谈收获及展望至今已快一年了,期间一直在忙没有时间写博客,原因就不细说了。由于我的个人云服务器到期了,所以我又买了一台阿里云的一年时长的ECS云服务器。话不多说,切入正题,跟我一起从零开始,搭建Linux服务器的各种开发运行环境吧。

目录

一、linux安装jdk环境

1.下载jdk

2.配置jdk环境变量

二、linux安装python3

1.检查python环境

2.下载python3

3.解压,编译,安装

三、linux安装tomcat

1.下载tomcat,解压

2.启动tomcat

3.修改tomcat端口号

4.修改tomcat用户名密码

5.tomcat进入管理页面403解决方案

6.tomcat启动超级慢解决方案

四、linux安装jetty

1.下载jetty,解压

2.启动jetty

3.修改jetty默认端口

五、linux安装mysql

1.下载mysql安装包,解压

2.安装mysql

3.安装mysql过程中报错及解决方案

4.配置mysql,启动mysql

六、linux启动或关闭防火墙,开放端口

1.查看防火墙

2.firewalld 防火墙开放端口

3.安装iptables服务

4.iptables防火墙开放端口

5.开放阿里云服务器的端口

结语:


准备工作:

1.一台linux服务器,我这里演示的是阿里云的ECS云服务器,操作系统: CentOS 7.3  64位

2.一台电脑,有浏览器,有网,可以下载

3.你需要Xshell或Xftp等连接服务器的工具,这里我使用的是SecureCRTPortable和Xftp6

准备好之后,我们开始搭建吧!

一、linux安装jdk环境

1.下载jdk

首先连接上你的linux服务器,输入java -version命令,查看当前服务器的jdk安装情况

这里我的服务器是干净的没有jdk,如果你的服务器也没有jdk或者不是你想要的版本,那么跟我一起安装一个新的jdk。

这里提个小插曲,刚到手的linux服务器一般用户名很长很杂乱,这里说一下修改hostname的方法,直接输入

sudo hostnamectl set-hostname <your-new-hostname>命令,回车即可。

我安装的是jdk1.8,看你个人需求,下载地址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jdk下载完成之后,用Xshell等连接服务器的工具上传到linux服务器

服务器目录是这个样子的,你的可能一开始没有app这个目录,那么你自己创建一个,很多人把jdk安装在/usr目录下,这里我选择安装在/app目录下,是为了方便统一管理,因为今后还要安装各种环境。

在/app目录下新建一个java目录(当然,你也可以放在/usr下面,随个人喜好),将下载的jdk上传上去。

输入命令cd /app/java进入到目标目录下,输入解压命令tar -zxvf  jdk-8u201-linux-x64.tar.gz (tar -zxvf  你的jdk名)回车

你会发现java目录下已经解压好了,你可以将解压后的文件夹的名字修改成你想要的名字,这里我改成了jdk1.8,看起来简洁。

2.配置jdk环境变量

输入命令cd ~回车,进入到你的用户目录下,使用vi编辑配置文件,输入vi .bash_profile回车

按一下i这个键,意思是insert插入,使用键盘的上下左右键移动光标,在export PATH这一行的前面,插入

export JAVA_HOME=/app/java/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

你可以删掉export PATH,(JAVA_HOME=/app/java/jdk1.8是你自己的jdk目录)输入完是这样的

然后按Esc键,输入:wq回车,则写入成功,注意:需要断开连接,重新连一下你的服务器,使配置文件生效,或者输入命令source ~/.bash_profile也行,一样的效果。

验证一下,输入java -version查看是否安装成功。

你看,已经好了,6不6!!!

二、linux安装python3

1.检查python环境

首先,查看你服务器上已有的python版本,基本上linux服务器都会自带python2.7(或2.6),输入命令python回车

看到服务器自带有python2.7.5,输入exit()可以退出。这里由于我需要使用到python3,所以我还要安装python3。

注意:默认的python被系统很多程序所依赖,所以系统自带的python版本不要轻易删除,否则会有一些问题,可能会导致系统内其他软件无法使用。

2.下载python3

python3和python2两个环境可以并存,下面介绍安装python3的方法:

下载地址https://www.python.org/ftp/python/选择自己想要下载的版本,

这里我下载的是https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

3.解压,编译,安装

同样,我在/app目录下新建目录python,你也可以放在其他地方如/usr/local/python3,这里我是为了便于统一管理。

将下载的包上传到python目录下,输入命令cd /app/python进入目录,输入tar -zxvf Python-3.7.2.tgz命令解压

这里我讲解压后的文件名做了更改python-3.7.2,方便输入cd命令(不用大小写切换,你可以不改)

因为python是编译安装的,所以这里需要安装编译环境,输入以下命令,执行

yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install libffi libffi-devel
yum -y install tk tk-devel
yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static

安装好编译环境后,进入解压后的目录cd python-3.7.2,输入命令./configure --prefix=/app/python/python-3.7.2即可(这个prefix=后面是你解压的python路径)

执行命令make

执行命令make install

这两个命令比较耗时,请耐心等待。

接下来,要建立软链接,输入以下命令:

ln -s /app/python/python-3.7.2/bin/python3 /usr/bin/python3
ln -s /app/python/python-3.7.2/bin/pip3 /usr/bin/pip3

这里的/app/python/python-3.7.2/是你的安装目录,其余不变

至此,我们就完成了python3的安装啦,输入-V命令查看一下版本

我们发现两个python版本和谐的在一起了,6不6!!!

三、linux安装tomcat

1.下载tomcat,解压

下载地址https://tomcat.apache.org/,选择你想下载的版本,这里我下载的是8.5版本https://tomcat.apache.org/download-80.cgi

下载完成后,上传至服务器。为了统一管理,这里我同样在/app目录下新建了tomcat文件夹,放在里面,当然,你可以放在其他目录下。

进入放安装包的目录cd /app/tomcat

执行tar -zxvf apache-tomcat-8.5.38.tar.gz解压

2.启动tomcat

要启动tomcat,必须要保证系统安装有jdk环境

进入bin目录cd apache-tomcat-8.5.38/bin

输入启动命令sh startup.sh

启动较慢,可以稍微等一会(如果发现启动巨慢,往后翻,有解决方案),也可以查看启动日志

进入logs目录下cd ../logs/

查看日志tail -f catalina.out(按Ctrl+C可以停止日志输出)

出现Server startup in 163407 ms就是启动成功了,这个8080就是tomcat的默认端口号,这个端口号是可以修改的。

打开浏览器,输入你的服务器ip:端口(例如134.112.68.6:8080),即可访问此tomcat了

3.修改tomcat端口号

将conf目录下的server.xml文件下载下来

打开,在70行左右的这里,将8080修改为你定义端口号(要保证你改的端口不被其他应用占用),保存。

然后再上传上去,覆盖掉原来的文件,重启即可

重启命令:在bin下执行sh shutdown.sh停止,然后再执行sh startup.sh启动

浏览器重新访问(有时会访问不到,是因为tomcat启动较慢,请耐心等待或查看启动日志),服务器ip:端口,访问即可。

4.修改tomcat用户名密码

将conf目录下的tomcat-users.xml文件下载下来

打开文件,最后面,注释掉的是官方提供的配置用户名密码的配置模板,我们看到模板中有tomcat,role1这两个角色

我们访问tomcat首页,点击Manager App

可以看到一个文档,

文档页面上的这两行代码复制出来,添加到tomcat-users.xml文件的最后这里,即已经完成了tomcat的用户名密码的设置。

<role rolename="manager-gui"/>
<user username="admin" password="123456" roles="manager-gui"/>

保存,上传覆盖掉原来的版本,重启tomcat,重新访问即可。

5.tomcat进入管理页面403解决方案

如果发现点击Manager App,还是之前的403页面,不会弹出来登录框,那么这个问题就是你的ip地址被拦截了,解决方案如下:

进入你的tomcat目录apache-tomcat-8.5.38/webapps/manager/META-INF这个目录下

修改这个文件context.xml,将这两行注释掉,就好了

更新文件,我们重启一下,进入tomcat首页,点击Manager App

输入你设置的用户名密码,就进入管理页面啦。

6.tomcat启动超级慢解决方案

启动tomcat巨慢,查看日志一直卡在[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying

这是因为JVM上的随机数与熵池策略影响的,默认使用的是 /dev/random,我们换成使用/dev/urandom产生随机数就特别快了。

将你的jdk目录下jdk1.8/jre/lib/security的java.security文件中

文件中有这一行securerandom.source=file:/dev/random将其改成securerandom.source=file:/dev/./urandom即可

重新启动tomcat,发现只要1~2秒就起好了

怎么样,是不是很神奇,6不6!!!

(由于本系统安装的是jdk1.8,与jboss容器不兼容,所以这里只讲解了安装tomcat和jetty)

四、linux安装jetty

1.下载jetty,解压

下载地址https://www.eclipse.org/jetty/download.html这里我下载最新版9.4

你也可以选择自己想要的版本下载

下载完成后,上传至服务器。同样,这里我为了统一管理,在/app目录下新建jetty文件夹,当然你也可以上传到其他目录下。

进入放安装包的目录cd /app/jetty

解压,执行tar -zxvf jetty-distribution-9.4.14.v20181114.tar.gz

这里我将解压后的文件夹名称改为jetty-9.4.14方便操作,看起来也简洁一点

解压即完成了安装,下面,我们启动一下jetty

2.启动jetty

启动jetty之前需要保证默认端口8080没有被占用(如果装有tomcat或其他占用了8080的服务请修改端口号或者关闭进程),待会再讲怎么修改jetty启动服务的端口,这里暂时停掉其他8080端口的应用。

进入bin目录cd /app/jetty/jetty-9.4.14/bin

执行启动命令sh jetty.sh start

可以看到已经启动成功(jetty的启动速度蛮快的),默认端口是8080,,我们访问一下

出现这个页面就表示你的jetty已经启动成功啦,404是因为你的jetty容器里还没有任何应用。

3.修改jetty默认端口

在jetty的目录下,有一个start.ini的文件

编辑这个文件,里面有一行注释掉的jetty.http.port=8080,表示默认是8080端口,我们加一行在下面,设置你的端口

更新这个文件,重启jetty,重启命令sh jetty.sh restart

我们看到,重启后的端口号已经生效了。6不6!!!

五、linux安装mysql

1.下载mysql安装包,解压

msql的官网是https://www.mysql.com/,(这里博主暂时进不去)下载安装包的教程请参考百度经验:mysql下载教程(如何从官方网站下载)

如果你也下载不了,这里我提供给你一个百度云下载链接,版本是mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz

目前官网的最新版本是5.7,不过博主建议下载5.6的版本,更稳定一些(据说linux安装5.7版本会经常出现一些bug很麻烦)。

上传至服务器,这里我为了便于统一管理都放在/app目录下,新建一个mysql文件夹(你可以放在/usr/下,随个人喜好)

进入目标目录,解压tar zxvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz

这里我改了解压后的文件夹名字为mysql-5.6.30,看起来更简洁。

2.安装mysql

首先要创建一个mysql用户:useradd mysql

设置mysql用户密码:echo '123456'|passwd --stdin mysql

修改当前目录的拥有者为mysql用户:chown -R mysql:mysql ./

切换到mysql用户下:su - mysql,可以看到当前用户已经从root切到mysql了

进入你的安装目录的scripts目录下面:cd /app/mysql/mysql-5.6.30/scripts

安装:./mysql_install_db --user=mysql --basedir=/app/mysql/mysql-5.6.30 --datadir=/app/mysql/mysql-5.6.30/data

命令里basedir是你的mysql根目录,datadir是mysql目录下的data目录。

3.安装mysql过程中报错及解决方案

提示:解决某个报错后,切回mysql用户,执行上面的安装步骤,如过出现其他报错,继续此过程,直至安装成功。

注意:yum安装都需要切到root用户下执行命令。切回root用户:su - root,需要输入你的root用户的密码。

(1)执行安装命令如何出现下面的报错:

你需要安装autoconf库,执行命令:yum -y install autoconf,即可安装autoconf库。

(2)如果报错:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

(3)报错:mysql_install_db: perl: bad interpreter: No such file or directory

这是因为缺少类库,需要对应安装:

缺少libaio相关的就执行yum –y install libaio*

缺少perl相关就执行yum –y install perl*

解决完报错后,切回mysql用户,执行上面的安装步骤,安装成功后会打印类似这样的日志。

安装完毕!

4.配置mysql,启动mysql

切到root用户下,进入到你的mysql安装目录下,我的是cd /app/mysql/mysql-5.6.30/

修改当前目录拥有者为root用户,执行命令 chown -R root:root ./

修改当前data目录拥有者为mysql用户,执行命令 chown -R mysql:mysql data

建立mysql软链接,执行命令ln -s /app/mysql/mysql-5.6.30/bin/mysql /usr/bin/mysql

执行cp support-files/mysql.server /etc/init.d/mysql

执行cp support-files/my-default.cnf /etc/my.cnf

然后需要在/etc/init.d/mysql和/etc/my.cnf配置文件中添加两行,就是你的mysql安装目录和目录下data

basedir=/app/mysql/mysql-5.6.30
datadir=/app/mysql/mysql-5.6.30/data

然后就可以启动mysql服务啦,执行命令service mysql start

查看进程ps -ef|grep mysql,已经起起来啦

修改mysql的root用户密码,root初始密码为空的,执行命令:./bin/mysqladmin -u root password '密码'

设置好密码后登陆root用户,执行mysql -uroot -p输入密码

已经进入mysql啦,输入show databases;可查看数据库,输入quit;可退出

#启动mysql命令:service mysql start
#关闭mysql命令:service mysql stop
#查看运行状态命令:service mysql status

至此,mysql已经安装完毕啦,如果你使用mysql客户端去连接你的mysql数据库连不上的话,是因为你的服务器3306端口的防火墙没开,下面继续介绍如何开放端口防火墙。开放3306端口后mysql客户端即可连接了。

怎么样,6不6!!!

六、linux启动或关闭防火墙,开放端口

1.查看防火墙

查看防火墙状态:service iptables status
开启防火墙:service iptables start
关闭防火墙:service iptables stop

如果出现报错:Unit iptables.service could not be found.

这是因为CentOS7默认的防火墙不是iptables,而是firewalle。出现此情况可能是iptables防火墙未安装。

如果你只是想开放某个端口的防火墙,那么你有两种选择:1.firewalld 防火墙;2.iptables防火墙。如果你选择第一种,则不用安装iptables。

下面介绍firewalld 防火墙开放端口的方法和iptables的安装方法。

2.firewalld 防火墙开放端口

查看firewalld状态:systemctl status firewalld

开启firewalld:systemctl start firewalld

如果启动报错:Failed to start firewalld.service: Unit is masked.

是因为被锁定了,取消firewalld的锁定:systemctl unmask firewalld,再启动即可。

开放某个端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent

重新载入:firewall-cmd --reload

这样,3306端口都开放啦。

3.安装iptables服务

首先,停止firewalld服务,执行:systemctl stop firewalld
禁用firewalld服务,执行:systemctl mask firewalld
执行:systemctl unmask firewalld
安装iptables服务,执行:yum -y install iptables-services
设置开机启动,执行:

systemctl enable iptables
systemctl stop iptables
systemctl start iptables
systemctl restart iptables
service iptables save

然后就可以启动防火墙啦!

4.iptables防火墙开放端口

先停掉防火墙service iptables stop

关闭firewalld:

systemctl stop firewalld  
systemctl mask firewalld

开放3306端口,执行:iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

后面如果还有端口要开放,直接在文件/etc/sysconfig/iptables里照着样子添加一行即可

保存,执行:service iptables save

开启服务,执行:systemctl restart iptables.service

查看防火墙状态:service iptables status

可以看到,防火墙已经在运行了,讲道理此时3306端口也已经开放了。

但是!有可能你跟我一样,mysql客户端还是连不上!,这是因为如果是阿里云的服务器,需要在阿里云的控制台去开放端口。

博主表示在写这篇博客的时候一度怀疑人生,思前想后想不通,最后发现是阿里云在作祟,坑不坑!!!

5.开放阿里云服务器的端口

登陆你的阿里云,进入控制台,找到你的云服务器实例,点击后面的更多,选择【网络和安全组】下的【安全组配置】

点进去以后,点击【配置规则】,添加一个新的或者克隆一个规则

协议类型要选Mysql(3306),然后保存

这样就生效啦,赶快使用你的mysql客户端连接一下(注意防火墙要保证3306端口开放)

如果你此时连接还是报错:

这个报错1130,说明你所连接的用户账户没有远程连接的权限,只能在本机localhost登录,。需要更改 mysql 数据库里的 user表里的 host字段 把localhost改成%,下面介绍方法:

执行mysql -u root -p,输入密码

进入mysql控制台,进入数据库:use mysql;
更改host字段值:update user set host='%' where host='localhost';
刷新:flush pricilges;
查看:select host,user from user;

退出:quit;

此时,你就可以使用mysql客户端连接你的mysql啦,实在不行的话你重启一下mysql试试:service mysql start,或者修改一下root的密码,保证你输入的密码正确。

可以看见已经连接成功。怎么样,6不6!!!

结语:

目前就先写这么多,太多了一篇博客写不下,因为本人平时由于工作需要,搭建的服务器非常多,所以使用的多了就有想写出来分享给大家的想法。

最后,如果有朋友想看关于某些方面的东西的话,可以私信我,也可以下方评论,我会的话尽量写博客发出来,尽我所能,谢谢大家!

猜你喜欢

转载自blog.csdn.net/Lin_xiaofeng/article/details/87454717
今日推荐