筆記13(FTP配置、tomcat配置、resin配置、MySQL主從配置)

來源:互聯網
上載者:User

標籤:linux

FTP服務搭建與配置

FTP介紹

FTP是File Transfer Protocol(檔案傳輸通訊協定,簡稱文傳協議)的英文簡稱,用於在Internet上控制檔案的雙向傳輸。

 FTP的主要作用就是讓使用者串連一個遠端電腦(這些電腦上運行著FTP伺服器程式),並查看遠端電腦中的檔案,然後把檔案從遠端電腦複製到本機電腦,或把本機電腦的檔案傳送到遠端電腦。

 小公司用的多,大企業不用FTP,因為不安全。


使用vsftpd搭建ftp服務

centos上內建vsftpd

 安裝:yum install -y vsftpd

 建立一個使用者:useradd -s /sbin/nologin virftp //-s指定他的shell這樣為了安全,建立這個普通使用者的目的是為了讓這些虛擬使用者來做一個映射,因為你要登入這台機器去傳輸資料,所以需要一個使用者

 編輯檔案:vim /etc/vsftpd/vsftpd_login //這個檔案我們叫做虛擬使用者的密碼檔案,需要定義他的使用者名稱和密碼,奇數行為使用者名稱,偶數行為密碼,多個使用者就寫多行,內容格式如下:

testuser1

aminglinux

user1

987654321

 編輯完更改許可權:chmod 600 /etc/vsftpd/vsftpd_login 不能讓所有使用者都能讀

 把文本的密碼檔案轉換成電腦識別的二進位檔案:db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

 建立虛擬使用者設定檔所在的目錄:mkdir /etc/vsftpd/vsftpd_user_conf 

 這個目錄也是自訂的所以也要去設定檔中去定義

 先進入到該目錄下:cd /etc/vsftpd/vsftpd_user_conf


建立並編輯使用者的設定檔:vim testuser1 //建立使用者的設定檔要跟你的使用者名稱字一致,加入以下內容://注釋

local_root=/home/virftp/testuser1//定義虛擬使用者的家目錄

anonymous_enable=NO//是否允許秘密使用者

write_enable=YES//是否允許可寫

local_umask=022//建立新目錄新檔案的許可權是什麼,跟系統的保持一致的

anon_upload_enable=NO//是否允許秘密使用者可上傳

anon_mkdir_write_enable=NO//是否允許秘密使用者可建立目錄並且寫

idle_session_timeout=600//上傳超出多少時間中斷連線

data_connection_timeout=120//資料轉送的超出時間

max_clients=10//最大的用戶端有多少


 建立虛擬使用者的家目錄:mkdir /home/virftp/testuser1

 在touch一個檔案:touch /home/virftp/testuser1/aming.txt

 更改許可權:chown -R virftp:virftp /home/virftp因為最後你要映射成virftp這個使用者

 編輯設定檔,定義它的密碼檔案在哪裡:vim /etc/pam.d/vsftpd //在最前面加上

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login


編輯vfstpd的主設定檔:vim /etc/vsftpd/vsftpd.conf

 將anonymous_enable=YES 改為 anonymous_enable=NO 不允許秘密使用者

 將#anon_upload_enable=YES 改為 anon_upload_enable=NO 

 將#anon_mkdir_write_enable=YES 改為 anon_mkdir_write_enable=NO

  在最下邊再增加如下內容

chroot_local_user=YES

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

allow_writeable_chroot=YES

 systemctl start vsftpd //啟動vsftpd服務


測試ftb

 安裝用戶端軟體:yum install -y lftp

 lftp [email protected]

 執行命令ls,看是否正常輸出

 若不正常查看日誌/var/log/messages和/var/log/secure

 windows下安裝filezilla用戶端軟體,進行測試


使用pure-ftbd搭建ftb服務

 yum install -y epel-release

 yum install -y pure-ftpd

 改一下設定檔:vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb這行,把行首的#刪除

 停掉這個服務:systemctl stop vsftpd

 開啟服務:systemctl start pure-ftpd

 建立測試目錄:mkdir /data/ftp

 建立一個普通目錄:useradd -u 1010 pure-ftp

 把屬主屬組改一下:chown -R pure-ftp:pure-ftp /data/ftp

 pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp

 pure-pw mkdb

 建立一個測試檔案:touch /data/ftp/123.txt

 登入:lftp [email protected] ls查看一下有沒有123.txt檔案

 pure-pw list/userdel/usermod/passwd


Tomcat配置


Tomcat介紹 

1.Tomcat是Apache軟體基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發而成。

2.java程式寫的網站用tomcat+jdk來運行

3.tomcat是一個中介軟體,真正起作用的,解析java指令碼的是jdk

4.jdk(java development kit)是整個java的核心,它包含了java運行環境和一堆java相關的工具以及java基礎庫。

5.最主流的jdk為sun公司發布的jdk,除此之外,其實IBM公司也有發布JDK,CentOS上也可以用yum安裝openjdk


安裝jdk

jdk版本1.6,1.7,1.8

 官網 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 下載jdk8,放到/usr/local/src/目錄下

步驟:

 1.先進到:cd /usr/local/src/目錄下

 2.然後用xftp進行傳輸到linux上

 3.解壓jdk檔案:tar zxvf jdk-8u144-linux-x64.tar.gz

 4.把它放到usr/local/目錄下並改名為jdk1.8:mv jdk1.8.0_144 /usr/local/jdk1.8

 5.編輯設定檔(設定環境變數的):vi /etc/profile //最後面增加

JAVA_HOME=/usr/local/jdk1.8/

JAVA_BIN=/usr/local/jdk1.8/bin

JRE_HOME=/usr/local/jdk1.8/jre

PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin

CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar 

 6.生效:source /etc/profile

 7.檢驗是否安裝成功:java -version  下面這種結果證明安裝成功

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9F/76/wKioL1mdMg_yWI4TAAAnRg1ae3U450.png" title="37]OI73ZI@{}EFS{U)W`}`J.png " alt="wKioL1mdMg_yWI4TAAAnRg1ae3U450.png" />


安裝tomcat

進入到:cd /usr/local/src目錄下:

 下載tomcat:wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz

 解壓:tar zxvf apache-tomcat-8.5.20.tar.gz

 把它移動到local/目錄下並改名叫tomcat:mv apache-tomcat-8.5.20 /usr/local/tomcat

 啟動tomcat:/usr/local/tomcat/bin/startup.sh (關閉:/usr/local/tomcat/bin/startdown.sh)

 查看進程:ps aux|grep java  ps aux|grep tomcat

 查看監聽連接埠:netstat -lntp |grep java 650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/01/E5/wKiom1meu1CA8yx2AAB-kvGuhNY210.png" title="5NW7(OUBVD9FAHCPJK5~M}V.png" alt="wKiom1meu1CA8yx2AAB-kvGuhNY210.png" />

 三個連接埠8080為提供web服務的連接埠,8005為管理連接埠,8009連接埠為第三方服務調用的連接埠,比如httpd和Tomcat結合時會用到

tomcta支援自訂連接埠,例如你想把8080改成80連接埠,方法如下:


配置tomcat監聽連接埠為80方法:

編輯tomcat的設定檔:vim /usr/local/tomcat/conf/server.xml 搜尋:8080

Connector port="8080" protocol="HTTP/1.1"修改為Connector port="80" protocol="HTTP/1.1"

 重啟服務tomcat:

 先關閉:/usr/local/tomcat/bin/shutdown.sh

 再重啟:/usr/local/tomcat/bin/startup.sh

 查看是否有監聽80連接埠:netstat -lntp |grep java 

 如果沒有80連接埠,查看Java進程是否開啟:ps aux |grep java

 查看是否有80連接埠:netstat -lntp |grep 80 有並且顯示nginx佔用,則需要關閉nginx服務:

 650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/A0/A3/wKioL1mev-jjiVThAABw2RCIFjc974.png" title="IRHUA{R)X[0LEL{1GLCMYS0.png" alt="wKioL1mev-jjiVThAABw2RCIFjc974.png" /> /etc/init.d/nginx stop

 然後重啟tamcat服務,在查看:

 /usr/local/tomcat/bin/shutdown.sh

 /usr/local/tomcat/bin/startup.sh

 650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/01/F2/wKiom1mev6fwpYq5AACNyzpcK4A045.png" title="YRE(JQ[HDGHONK5YKLQ([6J.png" alt="wKiom1mev6fwpYq5AACNyzpcK4A045.png" />


配置tomcat的虛擬機器主機

編輯設定檔:vim /usr/local/tomcat/conf/server.xml 搜尋:<Host

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/03/C7/wKiom1mf6VigHumzAAAwSLx_HcE867.png" title="33X3Q}}9(O9@YR_7}37V(QT.png" alt="wKiom1mf6VigHumzAAAwSLx_HcE867.png" />

其中<Host>和</Host>之間的配置為虛擬機器主機配置部分,name定義網域名稱,

appBase定義應用的目錄,Java的應用通常是一個jar的壓縮包,你只需要將jar的壓縮包放到appBase目錄下面即可。剛剛阿銘訪問的Tomcat預設頁其實就是在appBase目錄下面,不過是在它子目錄ROOT裡。

 增加虛擬機器主機,編輯server.xml,在最下面的</Host>下面增加如下內容:

<Host name="www.123.cn" appBase=""

    unpackWARs= "true" autoDeploy="true"

    xmlValidation="false" xmlNamespaceAware="false">

    <Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>

</Host>


docBase,這個參數用來定義網站的檔案存放路徑,如果不定義,預設是在appBase/ROOT下面,定義了docBase就以該目錄為主了,其中appBase和docBase可以一樣。在這一步操作過程中很多同學遇到過訪問404的問題,其實就是docBase沒有定義對。

appBase為應用存放目錄,通常是需要把war包直接放到該目錄下面,它會自動解壓成一個程式目錄

下面我們通過部署一個java的應用來體會appBase和docBase目錄的作用

建立一個部落格:

1.下載zrlog:wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war

2.把安裝包移動到webapps目錄下:cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/

3.進入到webapps目錄下:cd /usr/local/tomcat/webapps/

4.把自動解壓的目錄改名叫zrlog:mv zrlog-1.7.1-baaecb9-release zrlog

5.查看一下mysql是否開啟:ps aux |grep mysql

6.用電腦網頁登入:192.168.65.135/zrlog/

7.登入mysql:mysql -uroot -p123456789

8.建立一個叫zrlog的庫:create database zrlog;

9.建立一個使用者,指定使用者的IP和密碼:grant all on zrlog.* to ‘zrlog‘@127.0.0.1 identified by ‘12345678‘;  to:指定IP identified by:指定密碼

10.建立完成檢查一下建立的使用者對不對:mysql -uzrlog -h127.0.0.1 -p12345678

11.查看一下有沒有zrlog:show databases;

12.編輯網頁zrlog資訊:下一步-下一步-完成

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/03/CA/wKiom1mgEcHgERzcAABAURneVOM663.png" title="VO5TI_HLIA%9}T7(FKV2981.png" alt="wKiom1mgEcHgERzcAABAURneVOM663.png" />

訪問網址:192.168.65.135/zrlog/

如果不想直接存取IP需要進行以下操作:

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/A2/7B/wKioL1mgGeWzoGzdAABGxTt1VEA638.png" title="577`HHYO[A_NPX86M)9$U4U.png " alt="wKioL1mgGeWzoGzdAABGxTt1VEA638.png" />

appBase:就是用來放war包的 docBase:直接放網站程式的

建立目錄:mkdir /data/wwwroot/123.cn

把zrlog目錄下所有的東西都移動到123.cn目錄下:

mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

在綁定Windows上的hosts

重啟服務:/usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh

訪問網址:www.123.cn


Tomcat日誌

日誌在:/usr/local/tomcat/logs目錄下

ls /usr/local/tomcat/logs

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/A2/7B/wKioL1mgHh_hs_wnAADEKAamUBI661.png" title="J}3W{``SZ8)YXIDF08IAMUO.png " alt="wKioL1mgHh_hs_wnAADEKAamUBI661.png" />1.其中catalina開頭的日誌為Tomcat的綜合日誌,它記錄Tomcat服務相關資訊,也會記錄錯誤記錄檔。

2.其中catalina.2017-xx-xx.log和catalina.out內容相同,前者會每天產生一個新的日誌。

3.host-manager和manager為管理相關的日誌,其中host-manager為虛擬機器主機的管理日誌。

4.localhost和localhost_access為虛擬機器主機相關日誌,其中帶access字樣的日誌為訪問日誌,不帶access字樣的為預設虛擬機器主機的錯誤記錄檔。

 訪問日誌預設不會產生,需要在server.xml中配置一下。

具體方法是在對應虛擬機器主機的<Host></Host>裡面加入下面的配置(假如網域名稱為123.cn):

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

         prefix="123.cn_access" suffix=".log"

         pattern="%h %l %u %t &quot;%r&quot; %s %b" />

prefix定義訪問日誌的首碼,suffix定義日誌的尾碼,pattern定義日誌格式。新增加的虛擬機器主機預設並不會產生類似預設虛擬機器主機的那個localhost.日期.log日誌,錯誤記錄檔會統一記錄到catalina.out中。關於Tomcat日誌,你最需要關注catalina.out,當出現問題時,我們應該第一想到去查看它。


resin安裝與配置

這個也需要安裝jdk,從官網下載,caucho.com,下載第一個不收費的做實驗就好。

第一步,下載安裝包:wget http://caucho.com/download/resin-4.0.53.tar.gz

解壓:tar zxvf

進入到解壓完的目錄下,進行編譯:./configure --prefix=/usr/local/resin --with-java=/usr/local/jdk1.8 兩個指定,第一個需要指定安裝到哪個目錄下,第二個指定java所在的路徑

make && make install

它會自動產生這個目錄:ls /usr/local/resin/

自動產生啟動指令碼:ls /etc/init.d/resin

最好先把tomcat停掉:/etc/init.d/tomcat stop

在啟動:/etc/init.d/resin start

訪問一下:192.168.65.135:8080

它預設是8080連接埠,要想直接存取80連接埠方法:

改監聽連接埠:

進入到resin/conf/目錄下:cd /usr/local/resin/conf/

編輯設定檔:vim resin.properties 搜尋:app.http 把8080改成80

重啟:/etc/init.d/resin start

netstat -lnp |grep resin 看看有沒有80連接埠

直接存取:192.168.65.135

改虛擬機器主機:

編輯虛擬機器主機設定檔:vim resin.xml 搜尋:<cluster id="app"> 把下面這段寫到這個最後邊

<host id="www.123.com" root-directory=".">

<web-app id="/" root-directory="/tmp/resin"/>

</host>

建立目錄:mkdir /tmp/resin

重啟一下:/etc/init.d/resin stop /etc/init.d/resin start

查看一下80連接埠:netstat -lnp |grep java

建立一個解析檔案看看能不能解析

進入到該目錄下:cd /tmp/resin

編輯設定檔:vim 1.txt加入以下內容:

<?php

echo "hello how are you.";

解析一下:curl -x127.0.0.1:80 www.123.com/1.txt


mysql主從配置

卸載原來的mysql步驟

第一步,先進入到src下:cd /usr/local/src/

第二步,刪除

rm -rf /usr/local/mysql 

rm -rf /etc/init.d/mysqld

第三步,下載解壓:

 wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 

 tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

第四步,把解壓完的mysql移動到mysql目錄下:mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

進入到mysql目錄下:cd /usr/local/mysql

查看一下有沒有mysql使用者:grep ‘mysql‘ /etc/passwd

沒有的話建立一個:useradd mysql

建立data目錄:mkdir /data/

編譯:./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

拷貝一下設定檔和啟動指令碼:

cp support-files/my-default.cnf  /etc/my.cnf 

cp support-files/mysql.server /etc/init.d/mysqld

編輯設定檔:vi /etc/init.d/mysqld 定義basedir和datadir

basedir=/usr/local/mysql

datadir=/data/mysql

把之前的data/mysql刪除掉:rm -rf /data/mysql

啟動:/etc/init.d/mysqld start

查看服務:ps aux |grep mysql

查看連接埠:netstat -lnp |grep 3306

配置從:在另一台機器上開啟

cd /usr/local/

cp -r mysql mysql_2

cd mysql_2

定義一下它的設定檔(設定檔應該放到目前的目錄下):cp /etc/my.cnf  ./my.cnf

編輯設定檔:vim my.cnf 更改一些內容

port=3306 改成 port=3307

socket=/tmp/mysql.sock 改成 socket=/tmp/mysql2.sock

在加上一句:datadir= /data/mysql2

初始化操作:./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2

檢查:ls /data/mysql_2/下面是否有兩個目錄

啟動它需要寫一個啟動指令碼:

cd /etc/init.d/

cp mysqld mysqld2

vim mysqld2

basedir=/usr/local/mysql_2

datadir=/data/mysql_2

conf=$basedir/my.cnf

啟動:/etc/init.d/mysqld2 start

查看服務:ps aux |grep mysql應該是有兩個連接埠一個3306一個3307


登入兩台mysql方法:

3306:mysql -uroot -S /tmp/mysql.sock 或者:mysql -h127.0.0.1 -p3306

3307:mysql -uroot -S /tmp/mysql_2.sock 或者:mysql -h127.0.0.1 -p3307

先登入主設定主的:

mysql

建立一個叫db1的庫:create database db1; 建立完退出來quit

把mysql庫複製過來:mysqldump -uroot -S /tmp/mysql.sock mysql > 123.sql

在恢複回來:mysql -uroot -S /tmp/mysql.sock db1 < 123.sql

登入主mysql

use db1; 查看錶

show tables; 查看錶內容

編輯設定檔:vim /etc/my.cnf 把下面兩個都開啟

server-id=1 這個數字主從上不能一樣

log-bin=mysql-bin 可以自訂名字

重啟:etc/init.d/mysqld restart

ls /data/mysql/ 下邊會產生以你自訂名字為開頭的幾個檔案

設定mysql資料庫的root訪問密碼:

登入mysql

mysqladmin -u root -S /tmp/mysql2.sock password ‘123456‘

mysql -u root -S /tmp/mysql2.sock -p‘123456‘

mysql> grant replication slave on *.* to ‘repl‘@‘127.0.0.1‘ identified by ‘123123‘;

//這裡的repl是為slave端設定的訪問master端mysql資料的使用者,密碼為123123,這裡的127.0.0.1為slave的ip(因為阿銘配置的master和slave都在本機)。

mysql> flush tables with read lock;  //鎖定資料庫,此時不允許更改任何資料

mysql> show master status;  //查看狀態,這些資料是要記錄的,一會要在slave端用到


設定從的:

編輯配檔案:vim /etc/my.cnf

server-id = 1 改成其他的數字

重啟:service mysqld restart

拷貝資料:

mysql -uroot -S /tmp/mysql.sock -e "create database db1"

mysql -uroot -S /tmp/mysql.sock db1< 123.sql

登入到從上:mysql -uroot -S /tmp/mysql_2.sock

把這個服務停掉:slave stop;

change master to master_host=‘127.0.0.1‘, master_port=3307,

master_user=‘repl‘, master_password=‘123123‘,

master_log_file=‘mysql-bin.000006‘, master_log_pos=474952;

show slave status\G; 兩個yes說明成功


測試主從

解鎖:unlock tables;

在主上操作:

use db1;

查看錶:show tables;

刪除一個表:drop table help_category;

在從上操作:查看

use db1;

show tables;

看看有沒有help_category;這個表

意思就是你在主上進行的操作在從上也會有,比如你刪除表刪除庫,隨之從上也就刪除了,但是不能再從上進行刪除建立操作。

本文出自 “12912638” 部落格,請務必保留此出處http://12922638.blog.51cto.com/12912638/1960262

筆記13(FTP配置、tomcat配置、resin配置、MySQL主從配置)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.