一、環境準備html
1.一、準備好linux服務器,這個選擇有不少java
1.二、下載好Xshell、Xftp,www.netsarang.com/zh。這個在下載的時候選擇「免費的家庭和學校版」 便可,雖然對打開頁籤數量有限制不過應該已經夠用了。node
二、安裝JDKmysql
2.1 Oracle官網找到jdk的下載地址 www.oracle.com/technetwork…,本次經過rpm 安裝因此須要下載一個64位的rpm包,100多M 應該下載的比較快linux
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"
https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm
複製代碼
2.二、rpm -qa | grep jdk ,查看系統安裝過的JDK,而後卸載sodu yum remove xxx (xxx爲 查詢後的jdk),我是新環境什麼都沒有安裝過因此不須要了。nginx
2.三、添加執行權限c++
chmod 777 jdk-8u201-linux-x64.rpm
複製代碼
2.四、執行rpm進行安裝web
rpm -ivh --prefix=/usr/local/jdk/ jdk-8u201-linux-x64.rpm
複製代碼
我經過‘--prefix’指定了一下安裝目錄redis
2.五、查看JDK是否安裝成功sql
java -version
複製代碼
2.六、編輯環境變量
vim /etc/profile
複製代碼
編輯配置文件,命令:i 進入編輯模式,最後面加入以下代碼
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
複製代碼
按esc,而後輸入命令 :wq! , 回車 強制保存退出
讓profile當即生效
source /etc/profile
複製代碼
2.七、查看JDK安裝狀況
javac:
echo $PATH:查看本身剛剛設置的環境變量配置是否都正確
至此jdk 安裝完成,過程比較簡單
三、安裝tomcat
3.一、下載tomcat 壓縮包
在下載地址,選擇想要下載的壓縮包
http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.93/bin/
複製代碼
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.93/bin/apache-tomcat-7.0.93.tar.gz
複製代碼
3.二、解壓
tar -zxvf apache-tomcat-7.0.93.tar.gz
複製代碼
3.三、配置一下tomcat的環境變量置,進入tomcat的bin目錄後經過vim命令打開catalina.sh文件,加入以下配置
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-7.0.93
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-7.0.93
export JRE_HOME=/usr/local/jdk/jdk1.8.0_201-amd64/jre
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201-amd64
複製代碼
3.四、若是想要改tomcat的訪問端口,進入tomcat的conf目錄下,修改server.xml文件
3.五、啓動tomcat,切換到tomcat的bin目錄輸入啓動命令
./startup.sh
複製代碼
由於前面已經關閉防火牆了,因此能夠直接訪問 http://192.0.0.179:8088/
查看tomcat 日誌 tomcat 日誌的日誌文件在logs 目錄下面
#實時查看日誌文件 最後20行
tail -n 20 -f logs/catalina.out
複製代碼
四、安裝redis
4.一、首先上官網下載Redis 壓縮包,地址:redis.io/download 。
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
複製代碼
4.二、解壓redis
tar zxvf redis-5.0.3.tar.gz
複製代碼
4.三、進入到解壓後的路徑
cd redis-5.0.3
複製代碼
4.四、編譯
make
複製代碼
注意若是要是報「/bin/sh: cc: command not found」 這個錯,就先安裝gcc環境
yum install gcc
複製代碼
若是還要是報
則更改make命令,爲
make MALLOC=libc
複製代碼
4.五、編譯完成後進入 src 目錄進行安裝
cd src
make install
複製代碼
4.六、配置
關於bind
翻看網上的文章,此處多翻譯爲"指定 redis 只接收來自於該 IP 地址的請求,若是不進行設置,那麼將處理全部請求,在生產環境中最好設置該項"。這種解釋會 totally 搞糊塗初學者,甚至是錯誤的。該處的英文原文爲:
If you want you can bind a single interface, if the bind option is not # specified all the interfaces will listen for incoming connections.
bind 127.0.0.1
複製代碼
該處說明 bind 的是interface,也就是說是網絡接口。服務器能夠有一個網絡接口(通俗的說網卡),或者多個。打個比方說機器上有兩個網卡,分別爲 192.168.205.5 和 192.168.205.6,若是 bind 192.168.205.5,那麼只有該網卡地址接受外部請求,若是不綁定,則兩個網卡口都接受請求。
OK,不知道講清楚沒有,在舉一個例子。在我上面的實驗過程當中,我是將bind項註釋掉了,實際上我還有一種解決方案。因爲我redis服務器的地址是 192.168.1.4 。若是我不註釋bind項,還有什麼辦法呢?我能夠作以下配置:
bind 192.168.1.4
複製代碼
這裏不少人會誤覺得綁定的ip應該是請求來源的ip。其實否則,這裏應該綁定的是你redis服務器自己接受請求的ip。
daemonize yes
複製代碼
redis的連接端口
port 6379
複製代碼
表示是否須要密碼登錄 註釋掉就是不用密碼
requirepass 123456
複製代碼
咱們在配置完了這個redis.conf以後 最好用conf來運行redis-server,默認路徑conf在redis-server的上層
./redis-server ../redis.conf
複製代碼
4.七、服務端啓動成功後,執行redis-cli啓動Redis 客戶端
redis-cli
複製代碼
測試redis 啓動成功
./redis-cli #默認是6379端口
複製代碼
指定端口的方式:
./redis-cli -p 6380
複製代碼
若是須要密碼:
./redis-cli -p 6380 -a 你的密碼
複製代碼
客戶端連接成功後執行‘shutdown’命令,服務器就關閉了
五、安裝nginx
5.一、安裝編譯工具及庫文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
複製代碼
5.二、安裝 PCRE
PCRE 做用是讓 Nginx 支持 Rewrite 功能。
下載 PCRE 安裝包,下載地址: downloads.sourceforge.net/project/pcr…
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
複製代碼
解壓安裝包:
tar zxvf pcre-8.35.tar.gz
複製代碼
進入安裝包目錄
cd pcre-8.35
複製代碼
編譯安裝
./configure
make && make install
複製代碼
查看pcre版本
pcre-config --version
複製代碼
5.三、安裝Nginx
下載 Nginx,下載地址:http://nginx.org/download/nginx-1.6.2.tar.gz
wget http://nginx.org/download/nginx-1.6.2.tar.gz
複製代碼
解壓安裝包:
tar zxvf nginx-1.6.2.tar.gz
複製代碼
進入安裝包目錄
cd nginx-1.6.2
複製代碼
編譯安裝
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make
make install
複製代碼
查看nginx版本
/usr/local/webserver/nginx/sbin/nginx -v
複製代碼
至此nginx安裝完成。
5.四、Nginx 配置
#user nobody;
worker_processes 2;
error_log logs/error.log crit;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#須要代理的服務器列表,weight=n 可設置權重
upstream mynginx{
server 192.0.0.179:8088;
}
server {
listen 8888;#監聽端口
server_name 192.0.0.179;#監聽域名或ip
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
//該指令設置與upstream server的鏈接超時時間,有必要記住,(這個超時不能超過75秒?),默認60s
proxy_connect_timeout 75s;
//該指令設置與代理服務器的讀超時時間。它決定了nginx會等待多長時間來得到請求的響應。這個時間不是得到整個response的時間,而是兩次reading操做的時間,默認爲60s
proxy_read_timeout 3600s;
//這個指令設置了發送請求給upstream服務器的超時時間。超時設置不是爲了整個發送期間,而是在兩次write操做期間。若是超時後,upstream沒有收到新的數據,nginx會關閉鏈接.默認60s
proxy_send_timeout 3600s;
root html;
index index.html index.htm;
proxy_pass http://mynginx;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
複製代碼
檢查配置文件nginx.conf的正確性命令:
/usr/local/webserver/nginx/sbin/nginx -t
複製代碼
Nginx 啓動命令以下:
/usr/local/webserver/nginx/sbin/nginx
複製代碼
從新載入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reload
複製代碼
重啓 Nginx
/usr/local/webserver/nginx/sbin/nginx -s reopen
複製代碼
中止 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop
複製代碼
Nginx啓動以後,訪問站點進行測試,地址是上面配的server_name,端口是listen,192.0.0.179:8888
六、安裝Mysql(5.6版本)
也是找了不少教程,tar 包解壓安裝老是出問題,也不知道是否是打開方式不對,索性就使用yum 安裝了,一次成功。
6.一、檢查系統中是否已安裝 MySQL
rpm -qa | grep mysql
複製代碼
返回空值的話,就說明沒有安裝 MySQL 若是要是有就先移除之前的版本。
6.二、查看已安裝的 mysql 數據庫版本。
rpm -qa|grep -i mysql
複製代碼
6.三、卸載已安裝的 mysql 數據庫。
rpm -qa|grep mysql|xargs rpm -e --nodeps
複製代碼
6.四、下載rpm 安裝包文件。
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
複製代碼
6.五、安裝rpm 包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
複製代碼
安裝完成以後,會在 /etc/yum.repos.d/ 目錄下新增 mysql-community.repo 、mysql-community-source.repo 兩個 yum 源文件。
執行 yum repolist all | grep mysql 命令查看可用的 mysql 安裝文件。
6.六、安裝mysql
若是安裝5.7版本須要進行下面兩步操做,5.6版本直接跳過這兩步
禁用MySQL5.6的源
yum-config-manager --disable mysql56-community
啓用MySQL5.7的源
yum-config-manager --enable mysql57-community-dmr
若是報錯:yum-config-manager: command not found
這個是由於系統默認沒有安裝這個命令,這個命令在yum-utils 包裏,能夠經過命令「 yum -y install yum-utils 」 安裝就能夠了。
複製代碼
安裝MySQL 服務
yum install mysql-server
複製代碼
6.七、檢查mysql是否安裝成功
rpm -qa | grep mysql
複製代碼
6.八、啓動 mysql 服務
systemctl start mysqld.service #啓動 mysql
systemctl restart mysqld.service #重啓 mysql
systemctl stop mysqld.service #中止 mysql
systemctl enable mysqld.service #設置 mysql 開機啓動
複製代碼
6.九、設置密碼
mysql5.6 安裝完成後,它的 root 用戶的密碼默認是空的,咱們須要及時用 mysql 的 root 用戶登陸(第一次直接回車,不用輸入密碼),並修改密碼。
mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("這裏輸入root用戶密碼") where User='root';
mysql> flush privileges;
複製代碼
5.7 的版本貌似加入了不少安全機制,這裏修改密碼先要臨時修改一下密碼設置
查看臨時密碼:安裝完成後的臨時密碼,在/var/log/mysqld.log文件中
grep "A temporary password" /var/log/mysqld.log
複製代碼
mysql -u root -p
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY '*********';
複製代碼
6.十、設置遠程主機登陸
爲root 用戶添加遠程登陸的能力:
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
複製代碼
到此MySQL安裝完成,測試鏈接沒有問題。
6.十一、關閉大小敏感 通常配置文件在 etc 下
進這個目錄 vim /etc/my.cnf 加上
lower_case_table_names = 1
複製代碼
一行就能夠了;
開放防火牆某個端口:iptables -I INPUT -p tcp --dport 3306 -j ACCEPT