筆記13(FTP配置、tomcat配置、resin配置、MySQL主從配置)
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 下面這種結果證明安裝成功
安裝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
三個端口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服務:
/etc/init.d/nginx stop
然後重啟tamcat服務,在查看:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
配置tomcat的虛擬主機
編輯配置文件:vim /usr/local/tomcat/conf/server.xml 搜索:<Host
其中<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信息:下一步-下一步-完成
訪問網址:192.168.65.135/zrlog/
如果不想直接訪問IP需要進行以下操作:
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
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 "%r" %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主從配置)