服務器搭建

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

最近弄了個阿里云的服務器,想在上面搞點東西,故要搭建一套環境。登錄linux,在終端輸入 uname -a 即列出linux的內核版本號。(服務器網址:http://101.132.235.56)

1. linux的yum命令

首先我們要安裝一些軟件,下面就先介紹下 linux的yum 命令

yum常用命令

  • 1.列出所有可更新的軟件清單命令:yum check-update
  • 2.更新所有軟件命令:yum update
  • 3.僅安裝指定的軟件命令:yum install <package_name>
  • 4.僅更新指定的軟件命令:yum update <package_name>
  • 5.列出所有可安裝的軟件清單命令:yum list
  • 6.刪除軟件包命令:yum remove <package_name>
  • 7.查找軟件包 命令:yum search <keyword>
  • 8.清除緩存命令:
    • yum clean packages: 清除緩存目錄下的軟件包
    • yum clean headers: 清除緩存目錄下的 headers
    • yum clean oldheaders: 清除緩存目錄下舊的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的headers

?修改yum源

在安裝完CentOS后一般需要修改yum源,才能夠在安裝更新rpm包時獲得比較理想的速度。國內比較快的有163源、sohu源。這里以163源為例子。

1、打開centos的yum文件夾

輸入命令cd ?/etc/yum.repos.d/

2、用wget下載repo文件

輸入命令wget ?http://mirrors.aliyun.com/repo/Centos-7.repo ?

(或者wget http://mirrors.163.com/.help/CentOS6-Base-163.repo)

如果wget命令不生效,說明還沒有安裝wget工具,輸入yum -y install wget?回車進行安裝。

當前目錄是/etc/yum.repos.d/,剛剛下載的Centos-7.repo也在這個目錄上

3、備份系統原來的repo文件

mv ?CentOs-Base.repo CentOs-Base.repo.bak

即是重命名 CentOs-Base.repo -> CentOs-Base.repo.bak

4、替換系統原理的repo文件

mv Centos-7.repo CentOs-Base.repo

即是重命名 Centos-7.repo -> CentOs-Base.repo

5、執行yum源更新命令

yum clean all

yum makecache

yum update

依次執行上述三條命令即配置完畢。

最后就可以使用yum 了。

?

Linux磁盤管理常用三個命令為df、du和fdisk。

  • df:列出文件系統的整體磁盤使用量
  • du:檢查磁盤空間使用量
  • fdisk:用于磁盤分區

    參考文檔:http://www.runoob.com/linux/linux-tutorial.html

? yum install unzip 下載unzip

原因:缺少libaio庫文件?

解決方法:yum install libaio* -y

?

給大家推薦一個上傳的很好的工具:

--yum install lrzsz

按照提示輸入y即可安裝完成

--rz????//按回車即可上傳本地文件

144246_H3hM_2950677.png

刪除某些文件的命令:(慎用

find / -name mysql rm -rf 上邊查找到的路徑,多個路徑用空格隔開

#或者下邊一條命令即可 ?find / -name mysql*|xargs rm -rf

?

2. 安裝jdk

1、檢查一下系統中的jdk版本

[root@localhost software]# java -version

2、檢測jdk安裝包

[root@localhost software]# rpm -qa | grep java

3、卸載openjdk

[root@localhost jvm]# yum remove *openjdk*

之后再次輸入rpm -qa | grep java 查看卸載情況:

[root@localhost software]# rpm -qa | grep java

4、安裝新的jdk

首先到jdk官網上下載你想要的jdk版本(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html),下載完成之后將需要安裝的jdk安裝包放到Linux系統指定的文件夾下,并且命令進入該文件夾下:

144925_xoH4_2950677.png

點擊下載,

145043_Yacw_2950677.png

在你想安裝的目錄下運行(我的目錄是:/opt/soft/softinstallpackage/jdk) 下運行命令:

wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz?AuthParam=1527835935_1097e7aacf561830df21ea69c588fd4d

解壓?jdk-8u131-linux-x64.tar.gz安裝包 (下載后的解壓包改名為:jdk-8u171-linux-x64.tar.gz ),運行命令:

tar -zxvf jdk-8u171-linux-x64.tar.gz

5、設置環境變量

(1) 在/etc/profile文件末尾中添加以下環境變量:(我上面的JDK目錄是jdk1.8.0_171,所以下面JAVA_HOME中也是這個)

[root@localhost software]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

151528_4qXe_2950677.png

(2)讓/etc/profile文件修改后立即生效,有兩種方法:

方法1:
讓/etc/profile文件修改后立即生效 ,可以使用如下命令:
# .??/etc/profile
注意: . 和 /etc/profile 之間有空格

方法2:
讓/etc/profile文件修改后立即生效 ,可以使用如下命令:
# source /etc/profile

注:如果依然不生效可以嘗試重啟系統

查看是否成功:運行命令 java -version ?

出現jdk的版本表示成功了

151943_bOYr_2950677.png

參考文檔:https://www.cnblogs.com/Dylansuns/p/6974272.html

?

3. 安裝Nginx

在目錄 /opt/soft/softinstallpackage/nginx下執行如下命令:

安裝openssl庫。

?yum install -y openssl openssl-devel

?

?需要安裝gcc:yum install gcc-c++?? ?

? ?安裝?PCRE ? ?yum install -y pcre pcre-devel

?

??安裝zlib庫 ??yum install -y zlib zlib-devel

下載nginx: ???wget?http://nginx.org/download/nginx-1.13.0.tar.gz

裝在?/usr/local/ ?下

解壓??tar -zxvf nginx-1.13.0.tar.gz

?

進入目錄?運行?./configure??產生makefile

?此時目錄多出了?makefile

編譯make

安裝:make install

完成后?local?目錄下 多了個 nginx

啟動?nginx

進入sbin?目錄 ?執行./nginx

查看啟動結果

在頁面上訪問 http://101.132.235.56/ ??nginx?默認端口為80 ?

關閉?./nginx ?-s ?stop

./nginx ??-s ?reload ?可以在啟動后重新加載配置文件 適合于在啟動會修改了配置文件

?

?

參考文檔:https://www.cnblogs.com/yuanjava/archive/2017/05/13/6850764.html

https://www.linuxidc.com/Linux/2016-08/134110.htm

4. 安裝tomcat

?我安裝的是 tomcat8.5.31版本(https://tomcat.apache.org/download-80.cgi)

161420_jIwC_2950677.png

在目錄?/opt/soft/softinstallpackage/tomcat 下執行命令

wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz

解壓 :tar -zvxf apache-tomcat-8.5.31.tar.gz?

161527_sB4Z_2950677.png

將tomcat中的/bin/catalina.sh 腳本 拷貝到init.d下,這樣是為了比較方面的啟動tomcat,在任務地方通過service tomcat start 就可以啟動tomcat

cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat

vim /etc/init.d/tomcat
在第二行加入以下內容:

# chkconfig: 112 63 37
# description: tomcat server init script
# Source Function Library
. /etc/init.d/functions

JAVA_HOME=你的jdk路徑
CATALINA_HOME=tomcat安裝路徑

170442_BJ1s_2950677.png

保存文件后執行以下操作

chmod 755 /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on

啟動tomcat:

service tomcat start

可在瀏覽器輸入http://你的ip:8080,tomcat默認端口是8080,如果成功啟動的話會看到tomcat主界面

(一般我們將項目部署到tomcat中后即將war包拷貝到tomcat的webapps 目錄下,啟動tomcat就可以自動解壓訪問項目了,但是一般我們會希望去掉項目名訪問項目,故可以編輯 conf/service.xml 文件,在

?

后面增加?<Host ...>后面

<Context path="/" docBase="/opt/tomcat7/webapps/jeeplus/" reloadable="true" crossContext="true" /> )

b699af43cad35199e43c90501948f041c99.jpg

?

?

netstat -naop|grep 25123

5. mysql安裝

方式一:

0、卸載老版本MySQL

查找并刪除mysql有關的文件

find / -name mysql
rm -rf 上邊查找到的路徑,多個路徑用空格隔開
#或者下邊一條命令即可
find / -name mysql|xargs rm -rf

提前準備好文件mysql57-community-release-el7-11.noarch.rpm點擊下載

一步步輸入下面三條命令,即安裝好MySQL

--rpm -ivh mysql57-community-release-el7-11.noarch.rpm

--yum install mysql-server

--yum install mysql-devel

配置

--systemctl start mysqld??? //打開MySQL服務

--systemctl status mysqld?? //可以查看MySQL服務是否正常打開(可省略

160030_PufF_2950677.png

由圖可見MySQL已經正常啟動

--vi /var/log/mysql.log?????//查看并編輯MySQL的配置文件(可省略

--grep "password" /var/log/mysqld.log????//用這條命令可快速找到MySQL的初始密碼,方便你登錄后修改

--mysql –uroot –p????//然后輸入密碼

--set password for'root'@'localhost'=password('newpasswd');????//修改MySQL數據庫密碼(這里要注意的是新密碼必須是大寫開頭,包含大、小寫字母,特殊符號等)

161453_TP8M_2950677.png

一般我們一般不要求密碼那么復雜,故我們可以通過如下設置:

必須修改兩個全局參數:

首先,修改validate_password_policy參數的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_mixed_case_count=2;
Query OK, 0 rows affected (0.00 sec)

這樣我們就可以重新設置我們的簡歷密碼了

--set password for'root'@'localhost'=password('123456');??

配置連接

比如我想用本機上的SQLyog連接剛才配置的阿里云服務器上的MySQL數據庫,還需要這一步:

--?grant all on *.* to root@'%' identified by'123456' with grant option;????//[root]是遠程連接的【用戶名】,[123456]是遠程連接的【密碼】

162617_1HXG_2950677.png

編碼

mysql配置文件為/etc/my.cnf

最后加上編碼配置

[mysql]
default-character-set =utf8

這里的字符編碼必須和/usr/share/mysql/charsets/Index.xml中一致。

?

方式二:

1、下載

    下載地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

    下載版本:我這里選擇的5.6.33,通用版,linux下64位也可以直接復制64位的下載地址,通過命令下載:wget?http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

find / -name mysql rm -rf 上邊查找到的路徑,多個路徑用空格隔開

#或者下邊一條命令即可 find / -name mysql|xargs rm -rf

2. 解壓包并重新命名

142210_8l3a_2950677.png

或者

cp mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql -r

3、添加mysql用戶組和mysql用戶

先檢查是否有mysql用戶組和mysql用戶

groups mysql

Paste_Image.png

若無,則添加;

groupadd mysql
useradd -r -g mysql mysql

Paste_Image.png


若有,則跳過;

4、進入mysql目錄更改權限

cd mysql/
chown -R mysql:mysql ./

5、執行安裝腳本

./scripts/mysql_install_db --user=mysql

如果出現問題?

FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:

Data::Dumper

解決方法是安裝autoconf庫

執行命令:yum -y install autoconf

安裝完成之后繼續執行安裝mysql的命令:./scripts/mysql_install_db --user=mysql

問題解決。

安裝完之后修改當前目錄擁有者為root用戶,修改data目錄擁有者為mysql

chown -R root:root ./
chown -R mysql:mysql data

6、更改mysql密碼

上一步安裝腳本執行輸出的日志中告訴我們如何更改密碼了

142724_mdie_2950677.png

執行?./bin/mysqladmin -u root password 'root' 改密碼發現如下錯誤:

142847_dT4f_2950677.png

因為這時還沒有啟動mysql

啟動方法如下:

./support-files/mysql.server start

如果MySQL啟動報錯,則可能是已經存在MySQL進程,殺掉即可(再執行上面的命令啟動)

ps aux|grep mysql
kill -9 上邊的進程號
#或者下邊一條命令即可殺掉所有MySQL進程
ps aux|grep mysql|awk '{print $2}'|xargs kill -9

?

MySQL啟動之后再執行如下命令更改密碼:

./bin/mysqladmin -u root -h localhost.localdomain password 'root'

密碼更改后即可登錄MySQL

./bin/mysql -h127.0.0.1 -uroot -proot

登錄之后將其他用戶的密碼也可改為root

update mysql.user set password=password('root') where user='root';
flush privileges;

(錯誤:

root@DB-02 ~]# mysql -u root
-bash: mysql: command not found

原因:這是由于系統默認會查找/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是映射一個鏈接到/usr/bin目錄下,相當于建立一個鏈接文件。
首先得知道mysql命令或mysqladmin命令的完整路徑,比如mysql的路徑是:/usr/local/mysql/bin/mysql,我們則可以這樣執行命令:

# ln -s /usr/local/mysql/bin/mysql /usr/bin

7、增加遠程登錄權限

上一步即可本地登錄,但遠程登錄會報錯

需要本地登陸MySQL后執行如下命令

grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;

150618_gvVm_2950677.png

?

8、將MySQL加入Service系統服務

mysql設置開機啟動

1、cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld ? 將服務文件拷貝到init.d下,并重命名為mysqld

2、chmod +x /etc/init.d/mysqld ? ?賦予可執行權限

3、chkconfig --add mysqld ? ? ? ?添加服務

4、chkconfig --list ? ? ? ? ? ? 顯示服務列表

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restartservice mysqld status

154139_2K1X_2950677.png

如果看到mysql的服務,并且3,4,5都是on的話則成功,如果是off,則鍵入

chkconfig --level 345 mysql on

5、reboot重啟電腦

6、netstat -na | grep 3306,如果看到有監聽說明服務啟動了

154341_3n2G_2950677.png

?

?

?

?

150216_y2xt_2950677.png

?

?

6. 防火墻

?

通過systemctl status firewalld查看firewalld狀態

通過systemctl start firewalld開啟防火墻,沒有任何提示即開啟成功

再次通過systemctl status firewalld查看firewalld狀態,顯示running即已開啟了

如果要關閉防火墻設置,可能通過systemctl stop firewalld這條指令來關閉該功能

154010_vMB0_2950677.png

?

?

?

?

參考文檔:https://www.cnblogs.com/jimmy-muyuan/category/773052.html

?

轉載于:https://my.oschina.net/newdeng/blog/1822755

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451589.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451589.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451589.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mybatis內部類映射寫法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. B類是A類中的內部類。 2.  映射寫法&#xff1a; com.XXX.A$B , 注意A類和B類之間用 $ 表示內外關系&#xff0c;而不是常用的 …

集群,分布式,微服務的區別

參考文獻&#xff1a; 集群,分布式&#xff0c;微服務概念和區別理解 謝謝作者分享&#xff01;

Linux bash總結(一) 基礎部分(適合初學者學習和非初學者參考)

第一部分 bash簡介 —— 對bash進行簡要介紹 第二部分 bash示例和書寫流程 —— 以一個簡單的bash為例&#xff0c;說明書寫、執行bash的流程 第三部分 bash基礎語法 —— 本章內容比較多&#xff0c;主要介紹if...else...條件判斷&#xff0c;for循環等等。對于有編…

用 Python 語言來寫游戲

每個程序員差不多都是從計算機愛好者開始的&#xff0c;尤其是那些令人心醉神迷的電腦游戲&#xff0c;不僅造就了整個游戲產業&#xff0c;推動了計算機行業軟硬件的升級&#xff0c;而且吸引了大量的愛好者最終加入了游戲軟件開發的行業。騰訊、網易、盛大、完美時空等公司的…

各種操作系統簡介和功能分析

Windows 開發商 Microsoft Windows98/me Windows2000/XP Windows Server2003 Windows Vista Windows98/me是基于MS-DOS的混合的16/32位操作系統正慢慢的退出PC舞臺了,2000/X P以及Server2003都是基于WindowsNT的32位操作系統,XP/Server2003已經有64位版本了。 Vista是微軟最…

Cookie與Session的區別

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 cookie機制 Cookies是服務器在本地機器上存儲的小段文本并隨每一個請求發送至同一個服務器。IETF RFC 2965 HTTP State Management Mec…

python實現簡易工資管理系統(Salary Manage)源碼

一、需求&#xff1a; 1.導入文件讀取員工的信息和工資信息&#xff0c;最后將增加、刪除或修改的員工工資信息寫入原來的文件中 2.能夠實現員工工資信息的增刪改查 3.當增加和修改員工信息時用戶用空格分隔員工姓名和薪資 4.實現退出功能 二、思路 1.首先需要將包含有員工薪資…

python 的作用

print正常是要輸出到屏幕上&#xff0c;如果你希望輸出到其他地方比如文件&#xff0c;就需要使用>>來把輸出導向到文件。空格的目的是要區分關鍵詞&#xff0c;如果你輸入的是print>>&#xff0c;電腦會把它當成一個單詞&#xff0c;而無法知道是print函數。

操作系統內存管理

參考文獻&#xff1a; 20 張圖揭開內存管理的迷霧 感謝三太子敖丙分享&#xff01;

hexo github搭建博客常用的命令

這些命令你都用過嗎&#xff1f; npm install hexo -g #安裝 npm update hexo -g #升級 hexo init #初始化 hexo new "postName" #新建文章 hexo new page "pageName" #新建頁面 hexo generate #生成靜態頁面至public目錄 hexo server #開啟預覽訪問端口&a…

寫博客的好處,專家告訴你

把自己平時在做項目時和自己學習時的一些經驗和心得記錄下來。那樣&#xff0c;首先可以增強自己對知識點的理解&#xff1b;其次&#xff0c;以后再用到的話&#xff0c;可以很方便的查詢&#xff1b;最后&#xff0c;才是分享給大家&#xff0c;可以在用到這方面的知識的時候…

解決報錯:java.util.UnknownFormatConversionException: Conversion = ‘p‘

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. ssm框架下 報錯如題 2. 錯誤原因&#xff1a;我的情況是&#xff0c;代碼中實體屬性映射書寫和數據庫字段名字不一致。 選中位置數據…

JVM和JMM的區別

參考文獻&#xff1a; java中JVM和JMM之間的區別 感謝作者分享&#xff01;

[Java][網絡編程]服務端向客戶端發送信息

/*前置知識&#xff08;服務端&#xff09;1.首先要常見一個ServerSocket對象 服務端套接字&#xff0c;并且在服務端套接字里面確定需要使用的端口2.然后要創建一個Socket對象來接收ServerSocket的返回值。通常一個Socket對象對應一個客戶端/涉及到多個客戶端需要通過線程來解…

【Python】如何判斷一個字符串為空

#方法一 if oneString: print "not empty" else: print "empty" #方法二 if oneString "": print "empty" else: print "not empty"

LRU 實現緩存

LRU:Least Recently used 最近最少使用 1.使用LinkedHashMap實現 inheritance實現方式 繼承map類 可以使用Collections.synchronizedMap方式實現線程安全的操作 public class LruCache<K,V> extends LinkedHashMap<K,V> {private final int MAX_CACHE_SIZE;public …

使用vsftp作為集群的yum倉庫

地址規劃&#xff1a;vsftp服務器的地址為172.16.1.61使用的環境&#xff1a;[rootnfs01 scripts]# uname -a Linux nfs01 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux首先在yum服務器上掛載本地光盤mkdir /media/cdrom ;mount…

純做技術是自娛自樂 拋開技術做技術才是出路

短短一生不過數十載&#xff0c;對于很多人而言&#xff0c;作IT、作技術只是生命中的某一段&#xff0c;并非所有。而無論是換工作還是換行業&#xff0c;只是一種形式而已&#xff0c;最終我們追求的是成功、是榮譽、是收獲。于是在年輕的這幾年里&#xff0c;作為技術人員理…

TOAD連接Oracle數據庫失敗:OCI_INVALID_HANDLE解決

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. toad 連接Oracle數據庫連接失敗如圖&#xff1a; 2. 導致這個情況的前因&#xff1a;toad運行情況下&#xff0c;突然斷電。 3. 解決…

多線程三大特性:原子性、有序性、可見性

參考文獻&#xff1a;三大性質總結&#xff1a;原子性&#xff0c;有序性&#xff0c;可見性 感謝作者分享&#xff01;