从零搭建Linux服务器以及部署Web项目指南

在Web项目开发中,服务器搭建是非常重要的,同时部署web项目也是经常需要进行的事情,下面对一系列流程工作进行阐述。

1.搭建服务器

可以购买或者自行搭建
首先需要一台服务器,在服务器中安装好CentOS操作系统。
(1)购买
购买云服务器,在购买时可以直接自行指定服务器的操作系统。
下面以阿里云服务器为例做下介绍。首先进入到阿里云ECS购买页面,如下图所示:
(阿里云网站:https://www.aliyun.com/product/ecs)
在这里插入图片描述
通用型适合做站点等,目前最新版的也是升级到Skylake第六代处理器了,基本进行网站开发问题不大,价格适中,每月200多,年费就是约2400,小公司搭建网站不成问题了。

注意在选择CentOS尽量选择7.X以上的系统,较安全性相对6.X的版本更高,或者如果有之前使用的版本也可以自定义镜像。
在这里插入图片描述
对于网络安全组,一般默认选择就可以了。
在这里插入图片描述

(2)个人购买
如果是非公司的,学生或个人组织搭建的可以选择入门级,价格只有十几块一个月,相对是很便宜了。但是配置不高,适合做一些测试等。
在这里插入图片描述
好的,在购买完了ECS服务器之后,打开管理控制台,在里面找到实例,会看到自己服务器的内外网ip以及账户密码,注意在连接之前请先重置自己的密码,目前阿里云是有提供自己的远程连接,使用较为便捷,或者通过Putty、XShell、Xftp等工具进行连接都是可以的。
在这里插入图片描述
在这里插入图片描述

(3)自行搭建
可以自行搭建,首先需要一台主机并且确保它一直开启(主机),配置比云服务强很多,需要保证服务器不断电,同时需要维护日常出现的服务器问题。

下载对应的操作系统ISO文件,并通过u盘安装等方式安装至机器中。
CentOS下载官网:https://www.centos.org/download/ (推荐7.2以上版本)
下载好后通过通过UltraISO等刻录工具刻录至u盘(也可以通过老毛桃等u盘工具安装系统)

下面介绍UltraISO使用的方法:
UltraISO下载网站:https://cn.ultraiso.net/xiazai.html
完成安装后打开软件,文件->打开,打开我们的iso镜像
在这里插入图片描述
插入u盘,选择你插入的u盘。
在这里插入图片描述
然后点击启动->写入磁盘映像
在这里插入图片描述
选择USB-HDD,点击写入,等待完成即可。
在这里插入图片描述
然后对主机插入u盘,按正常流程安装系统即可。设置开机U盘启动,选择U盘后跳转到下图界面
在这里插入图片描述
界面说明:

Install CentOS 7 安装CentOS 7
Test this media & install CentOS 7 测试安装文件并安装CentOS 7
Troubleshooting 修复故障

按下键盘TAB键将最下面的
vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet 改为

vmlinuz initrd=initrd.img linux dd quiet

查看U盘启动盘的名称比如:sda,sdb,sdc (ps:label一列会显示Centos7等字样的)
重启后到第三步界面按下TAB键,将
vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet 改为

vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb1 quiet   

(ps:sdb1就是你看到的启动盘名称)

之后等待安装到图形界面
选择中文→简体中文→点击继续,之后一路默认设置账号密码等就可以了。
在这里插入图片描述

1.1.内外网配置

TODO

2.远程连接

下面以Putty远程连接的方式做介绍:
Putty下载地址:
链接:https://pan.baidu.com/s/1u8qPnzKw2ZjNpBOO1qxaTg 提取码:npgn
(若失效请通过此链接下载:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)

Putty打开后为如下页面,输入你的ECS外网(公网)IP,端口输入22,注意外网是非本地访问时使用的,如果你是搭建的本地服务器则采用内网服务器访问。
在这里插入图片描述
打开后界面如下,输入用户名,默认为root,并输入你设置的密码(密码是看不见的),访问成功后界面如下,出现日期即为登录成功。
在这里插入图片描述
【连接成功可以跳过】
问题:注意在这边如果说登录失败,或者连接异常等,首先考虑是否开启了22端口,之前老的服务器是默认可以连接的,现在一些新的服务器可能需要开启连接规则
在这里插入图片描述
点击配置规则
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意这边把常用的端口都勾上:SSH是用来连接的,telnet邮件等会使用,HTTP访问站点需要,HTTPS配置域名等安全连接需要,几个常用数据库的端口,SQLServer为1433,Oracle为1521,MySQL为3306,勾选上你需要使用的端口即可。(同时可以把之后需要配置Tomcat的默认端口8080打开)

【连接不上进行此操作】
再次通过Putty等连接工具连接,就可以连接上了,如果实在不行,可以通过管理控制台自带的远程连接进行连接,在其中打开防火墙端口。启动后在其中输入如下命令。
【开启端口方案】
开启22端口(开启其他端口替换22即可)
firewall-cmd --add-port=22/tcp --permanent 提示 success 表示成功

查看打开的所有端口

firewall-cmd --permanent --list-ports

之后就可以通过Putty等工具进行连接了。

3. 配置系统

在连接成功后,需要在系统中安装Java、Tomcat以及MySQL三个工具。
(1) 安装Java
甲骨文上下载jdk,目前是8u201的版本,当然根据你的项目需求也可以下载jdk7的版本
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
注意此处选择Linux x64 的tar.gz的版本
在这里插入图片描述
下载好了之后需要通过传输工具传送到服务器,下面以FileZilla为例。
FileZilla下载链接:https://filezilla-project.org/download.php?type=client

打开后输入你的ip地址(内部网络输入内网,外部网络输入外网),用户名以及密码,端口输入22,进行连接。
在这里插入图片描述
列出root目录成功则表示连接成功,接下来需要把下载好的jdk文件上传至服务器(比如我的目录是/usr/java)
在这里插入图片描述
然后解压jdk,在Putty终端中输入解压命令:tar -zxvf jdk-8u171-linux-x64.tar.gz

接下来配置环境变量,环境变量路径:/etc/profile  (可以先copy一份,cp /etc/profile /etc/profile1)
在终端中输入如下命令:

vi /etc/profile    # 1.编辑配置文件,移动到最下面,按A进行输入

# 2.添加如下内容(不用输入#行文本)
export JAVA_HOME=/usr/java/jdk1.8.0_102
export JRE_HOME=/usr/java/jdk1.8.0_102/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

(注意:请根据各自的jdk版本或路径稍加修改)

按下Esc键,出现冒号后输入wq进行保存
然后输入配置生效命令:source /etc/profile

我们可以在终端中输入java来检测是否配置成功
在这里插入图片描述
出现如图文本即配置成功。

(2) 安装Tomcat
在安装完Java之后,需要在服务器上部署Tomcat服务器(之后也可以与Nigix连接配置Https),下面以Tomcat8为例介绍。
首先在Apache下载Tomcat8,下载地址:http://tomcat.apache.org/download-80.cgi
选择tar.gz的格式进行下载(注意在Linux系统中采用tar.gz格式文件较为便捷)
在这里插入图片描述
下载完成之后还是在我们的FileZilla上传到服务器,我的目录是:/var/local
在这里插入图片描述
上传完成后进行解压,终端输入命令:tar -zxvf apache-tomcat-8.5.16.tar.gz (代码以实际版本为准)
好的,到这里就完成Tomcat配置了,是不是非常简单

当然配置完成了还需要启动它,配置防火墙,开放8080端口
终端输入:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

好的好的,开启端口后就需要启动Tomcat

/var/local/apache-tomcat-8.5.16/bin/startup.sh    

(代码以实际版本为准)
之后进行测试,能看到猫就配置成功了,浏览器访问你的IP加端口8080:http://172.16.1.92:8080
在这里插入图片描述
(3) 安装MySQL
配置好服务器了,页面有了,但是没有数据怎么办,还需要最后一个工具,那就是数据库。
在MySQL网站下载数据库服务器,下面以MySQL 5.7为例介绍。

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
在这里插入图片描述
同样的,下载好了通过FileZilla上传到服务器,这边还是上传到刚才存放Tomcat的目录 /var/local
解压文件:tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz (代码以实际版本为准)

进行如下操作

#卸载系统自带的Mariadb
[root@centos1 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@centos1 ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

#删除etc目录下的my.cnf文件

[root@centos1 ~]# rm /etc/my.cnf
rm: cannot remove ?etc/my.cnf? No such file or directory

#检查mysql是否存在
[root@centos1 ~]# rpm -qa | grep mysql
[root@centos1 ~]# 

#检查mysql组和用户是否存在,如无创建
[root@centos1 ~]# cat /etc/group | grep mysql 
[root@centos1 ~]#  cat /etc/passwd | grep mysql

#创建mysql用户组
[root@centos1 ~]# groupadd mysql
#创建一个用户名为mysql的用户并加入mysql用户组
[root@centos1 ~]# useradd -g mysql mysql
#制定password 为111111
[root@centos1 ~]# passwd mysql
Changing password for user mysql.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.

#由于我的/usr/local空间不足,所以我安装到/var
[root@centos1 var]# tar -zxvf mysql-5.7.22-linux-glibc2.5-x86_64.tar.gz 
[root@centos1 var]# mv mysql-5.7.22-linux-glibc2.5-x86_64/ mysql57

#更改所属的组和用户
[root@centos1 var]# chown -R mysql mysql57/
[root@centos1 var]# chgrp -R mysql mysql57/
[root@centos1 var]# cd mysql57/

[root@centos1 mysql57]# mkdir data

[root@centos1 mysql57]# chown -R mysql:mysql data

etc下新建配置文件my.cnf,并在该文件内添加以下配置

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=/var/mysql57
# 设置mysql数据库的数据的存放目录
datadir=/var/mysql57/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 
lower_case_table_names=1
max_allowed_packet=16M

数据库安装

[root@hdp265dnsnfs mysql57]# bin/mysql_install_db --user=mysql --basedir=/var/mysql57/ --datadir=/var/mysql57/data/
2017-04-17 17:40:02 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2017-04-17 17:40:05 [WARNING] The bootstrap log isn't empty:
2017-04-17 17:40:05 [WARNING] 2017-04-17T09:40:02.728710Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2017-04-17T09:40:02.729161Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2017-04-17T09:40:02.729167Z 0 [Warning] Changed limits: table_open_cache: 407 (requested 2000)

初始化操作

[root@hdp265dnsnfs mysql57]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@hdp265dnsnfs mysql57]# chown 777 /etc/my.cnf 
[root@hdp265dnsnfs mysql57]# chmod +x /etc/init.d/mysqld

开机启动

[root@hdp265dnsnfs mysql57]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

#设置开机启动

[root@hdp265dnsnfs mysql57]# chkconfig --level 35 mysqld on
[root@hdp265dnsnfs mysql57]# chkconfig --list mysqld

[root@hdp265dnsnfs mysql57]# chmod +x /etc/rc.d/init.d/mysqld
[root@hdp265dnsnfs mysql57]# chkconfig --add mysqld
[root@hdp265dnsnfs mysql57]# chkconfig --list mysqld
[root@hdp265dnsnfs mysql57]# service mysqld status
 SUCCESS! MySQL running (4475)

添加环境变量

export PATH=$PATH:/var/mysql57/bin
[root@hdp265dnsnfs mysql57]# source /etc/profile

获取初始密码,我这边为“_pB*3VZl5T<6”,按各自机器为准

[root@hdp265dnsnfs bin]# cat /root/.mysql_secret  
# Password set for user 'root@localhost' at 2017-04-17 17:40:02 
_pB*3VZl5T<6

修改密码

[root@hdp265dnsnfs bin]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.18

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set PASSWORD = PASSWORD('111111');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

添加远程访问权限

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select host,user from user;
+-----------+-----------+
| host      | user      |
+-----------+-----------+
| %         | root      |
| localhost | mysql.sys |
+-----------+-----------+
rows in set (0.00 sec)

create user 'xxx'@'%' identified by '123';  这里 @‘%’ 表示在任何主机都可以登录

重启服务

/bin/systemctl restart  mysql.service

[root@hdp265dnsnfs bin]# /etc/init.d/mysqld restart 
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

设置在任何目录下可以登录mysql

ln -s /var/mysql57/bin/mysql   /usr/bin/mysql

好的,到这里数据库配置就完成了!

服务器所需要的已经基本配置完成,接下来需要在上面部署我们的web项目

4. 项目部署

首先我们先编写一个简单的JavaWeb项目作为测试。
以IDEA为例,先创建一个Web项目:
在这里插入图片描述
在这里插入图片描述
项目结构
在这里插入图片描述
index.jsp的代码

<%--
  Created by IntelliJ IDEA.
  User: Matt
  Date: 2019/2/14
  Time: 13:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
    Hello, World!
  </body>
</html>

右键项目,选择Open Module Settings
在这里插入图片描述
选择Artifacts,然后Type选择Web Application: Archive
在这里插入图片描述
接下来点击Build,选择Build创建War包
在这里插入图片描述
在这里插入图片描述
在项目结构中的out文件夹中可以找到对应war文件
在这里插入图片描述
我们在电脑中对应的文件夹中找到该文件,修改名称为Demo.war
在这里插入图片描述
通过FileZilla上传到Tomcat的webapp目录,在重启Tomcat就可以了
在这里插入图片描述
重启Tomcat

/var/local/apache-tomcat-8.5.16/bin/shuwdown.sh    		# 关闭
/var/local/apache-tomcat-8.5.16/bin/startup.sh    		# 启动

访问浏览器
在这里插入图片描述
好的,到这里就完成所有的步骤了。

部分参考:
https://www.cnblogs.com/dadadechengzi/p/6723686.html
https://www.cnblogs.com/shan-kylin/p/9317482.html

  • 13
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值