從零搭建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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章