在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 statusSUCCESS! 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.18Copyright (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 -ADatabase changedmysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> 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: MattDate: 2019/2/14Time: 13:19To 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

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

  1. yolov5使用2080ti显卡训练是一种什么样的体验我通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程。>>>>>>>>>第二章番外篇

    第二章番外篇:yolov5通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 前期准备: 2 ...

  2. IDEA社区版搭建Tomcat服务器并创建web项目

    IDEA社区版搭建Tomcat服务器并创建web项目 目标 创建Web项目的目录结构 可以启动Tomcat服务器 编写Servlet并访问成功 问题 IDEA社区版没有创建Web工程的选项 IDEA社 ...

  3. UCloud云服务器上部署web项目环境

    最近在UCloud买了一个云服务器,准备记录一下在Linux上怎样部署一个web项目并运行起来,先把环境搭建起来. 部署web项目环境,只需要安装好JDK.Tomcat和MySQL就可以了,以下提供给 ...

  4. 如何在云服务器上部署web项目(CVM)

    在QQ空间中发现了腾讯云的域名1元/年的活动,之前只试过在Windows下用XAMPP部署静态页面以及在Centos中用LNMP部署静态页面,好奇在云主机上部署静态页面.web项目会有什么不同,便点进 ...

  5. Windows在局域网内无法访问Linux服务器上的web项目问题

    背景 在Linux服务器上部署了一个在Giithub上开源的web项目,一个用ruby写的项目,在Linux服务器上安装了rvm,利用rvm下载ruby环境的各个版本,并用bundle管理下载项目需要 ...

  6. 在云服务器上部署web项目(CVM)

    在QQ空间中发现了腾讯云的域名1元/年的活动,之前只试过在Windows下用XAMPP部署静态页面以及在Centos中用LNMP部署静态页面,好奇在云主机上部署静态页面.web项目会有什么不同,便点进 ...

  7. 2021最新 阿里云服务器搭建(二)--mysql配置+部署web项目

    点击此处领取阿里云2000元优惠礼包 四.linux下配置mysql 1.安装mysql 安装方式有两种,一种可以使用 yum 来安装 mysql.一种是到官网下载安装包后上传解压安装. 这里我使用的 ...

  8. 微信小程序--搭建linux服务器并部署java后端程序2021

    本文介绍:如何将java后端代码部署到阿里云的以CentOS7为操作系统轻量应用服务器上 前后历经一周时间搭建好服务器,成功在浏览器中访问后端代码,欣慰

  9. node配置ssl证书_在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)...

    一.环境部署 1.下载安装包: wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz 2.解压并进入目录: xz -d no ...

最新文章

  1. 【目录】Python 入门基础篇 <(^-^)>
  2. [XSY] 智慧树(线性同余方程组,线段树/树状数组)
  3. Android提权root漏洞,【转】结合init源码剖析android root提权漏洞(CVE
  4. C++数据结构与算法 队列的应用之图元识别
  5. 木桶问题MATLAB,物理实验绪论-喻小强.ppt
  6. 在centos7部署etcd v3的c++客户端
  7. 机器学习模型融合stack详解及代码实战
  8. 【Gym-100889 H】Hitting Points【凸包三分】
  9. matlab R2021b 激活错误
  10. 6.1 阈值处理-- threshold函数
  11. oracle百分比转数字_子分公司一把手谈企业数字化转型——新疆能源
  12. POJ1759Garland题解
  13. CVPR 2021 目标检测论文大盘点(65篇论文)
  14. android压力测试命令monkey详解,android压力测试命令monkey详解(示例代码)
  15. 企业微信后台应用配置步骤
  16. 微信小程序云开发-微信小程序账号申请及新手环境配置
  17. qt_cannot find -lxxx, 链接动态/静态库失败
  18. GNSS/IMU紧耦合学习笔记之卫星数据处理
  19. Go 语言几种运算符
  20. Idea神气功能。找到之前编写的代码!查看历史编译文件

热门文章

  1. 2021年最新调查:86% 的 Java 开发人员 依赖 Spring 框架
  2. 苯酚物理化学性质及用途
  3. 行政问责制度的现实问题与完善
  4. 汇编语言SAL SHL的比较
  5. 四个坐标点顺时针排序
  6. 日语笔记(2) 动词ます形
  7. FPGA经验谈系列文章——前言和目录
  8. ubuntu16.04系统出现问题解决方案集锦。
  9. 杯具了!曾经很火的百度网盘高速下载工具又跑路了!
  10. Mini Story 总结