大家好,久违了!

时隔一年,我发表的上一篇博客年后第一更,谈谈收获及展望至今已快一年了,期间一直在忙没有时间写博客,原因就不细说了。由于我的个人云服务器到期了,所以我又买了一台阿里云的一年时长的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!!!

结语:

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

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

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

  1. centos+mono+nginx+jexus 搭建linux下c#运行环境测试

    从零开始搭建Linux测试环境之dk+apache+jboss +mod_jk+openssl 软件介绍 1.JDK(Java DevelopmentKit).Java开发工具包.大家都知道Java程 ...

  2. vs2017搭建Linux的开发调试环境(VisualGDB)

    在Linux下调试工程是一件很苦逼的事情,不像在Windows下用Visual Studio那样简便,但是最近发现一件神器可以让Linux下的程序一样可以在Windows下的Viusal Studio ...

  3. 从零开始搭建Linux嵌入式开发环境

    声明:本人依据正点原子开发手册以及0年开发经验编撰,内容并不详细,比如新建用户弹出的输入提示如何输入等,请自行处理. 目录 一.安装与更新 1.安装VMware虚拟机 2.安装Ubuntu系统 3.更 ...

  4. 阿里云ECS服务器搭建Nginx+PHP+MySql+Redis环境详细步骤(CentOS7环境)

    参考了很多别人总结的经验,没有版权,欢迎转载 ^ ^ 一.安装Nginx 1.下载nginx-release包 wget http://nginx.org/packages/centos/7/noar ...

  5. 下载服务器 linux系统,如何搭建Linux服务器

    以Linux为基础的"LAMP(Linux, Apache, MySQL, Perl/PHP/Python的组合)"经典技术组合,提供了包括操作系统.数据库.网站服务器.动态网页的 ...

  6. Linux服务器开发环境搭建 Nginx+PHP+MongoDB

     Linux服务器开发环境搭建 Nginx+PHP+MongoDB mkdir -p /home/trlinux/download mkdir -p /home/trlinux/server mkdi ...

  7. linux系统下docker搭建vue前端项目开发运行环境详解

    1. 初衷 最近做了几个前后端项目,在前后端项目链条的时候,发现在windows系统下安装前端发过来的vue项目的依赖的时候各种报错, npm install一直无法安装,但是我在linux系统下面安 ...

  8. linux搭建python运行环境_centos运行.py centos5.5下搭建python开发运行环境 - Linux - 服务器之家...

    centos运行.py centos5.5下搭建python开发运行环境 发布时间:2017-04-28 来源:服务器之家 我们知道ython可以在windows.linux.android运行了,但 ...

  9. web自动化如何在不同浏览器运行_如何给树莓派搭建WEB开发运行环境之JAVA篇

    在上一篇,我们已经脱掉了她华丽的外衣,你不用再添加任何华而不实的装饰,一切都交给CLI来搞定.树莓派WEB开发运行环境之JAVA篇,只需5个步骤: 安装JAVA开发包 安装和运行maven 创建JAV ...

最新文章

  1. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论
  2. 【Android】Activity的四种launchMode
  3. 转: telnet命令学习
  4. js温故而知新11(AJAX)——学习廖雪峰的js教程
  5. python 网格_Python | 网格到情节
  6. oracle 静默安装出错,关于redhat6.2静默安装oracle11g出现的问题 大神救命
  7. java placeholder_java swing JTextField设置PlaceHolder
  8. 页面局部ajax文件上传,页面通过ajax实现文件上传功能
  9. 2020年数据库系统工程师下午真题及答案解析
  10. 关于电的计算机公式,电能计算-电能的计算公式-电工基础 - 电工屋
  11. 软件工程学习笔记(全)
  12. python在电力系统中的应用_SKIDL: 在PYTHON中描述你的电路
  13. 科研绘图(Matplotlib.pyplot)
  14. 楼氏电子推出具有高级功能的人工智能型TWS开发套件
  15. Java编写 随机对数组赋值
  16. 【a】标签的伪类选择器
  17. 迅雷工作原理的推测及慎用它的理由
  18. fsdb和vpd格式波形生成并查看
  19. python画名侦探柯南_【儿童节特辑】风格迁移——让你的照片秒变手绘日漫风
  20. 电子实验记录和纸质实验记录——怎么选,可以提高10倍效率

热门文章

  1. 真正超简单解决App启动时白屏问题
  2. Java、JSP物业管理信息系统毕业设计
  3. SketchUp:SketchUp草图大师经典案例之利用推拉工具实现对齐高度图文教程
  4. 药品计算机管理系统法律法规,计算机系统管理制度
  5. Qt5下Qxlsx模块安装及使用
  6. [原创]万能杀毒,打造手工杀毒高手
  7. FME应用之南京市国土资源局图形平台升级数据整理及数据管理平台建设
  8. [求职信]英文求职信常用句式
  9. 远程计算机网络怎么设置,vpn错误720:不能建立到远程计算机的连接。你可能需要更改此连接的网络设置...
  10. 移动校园网宽带720错误