1.購買伺服器跟域名
首先購買一臺學生伺服器,選擇這個套餐,挺實惠的,順便買個xin域名。懶人點選這個連結購買購買連結1 購買連結2,預設購買linux系統centos7.4
2.域名解析
對域名進行dns解析。購買域名後,點選進入控制檯,然後點選進入域名和網站欄目 點選域名解析,點選新手引導,進行快捷解析即可。伺服器的ip在控制檯,ecs伺服器例項裡面檢視,為公網ip。
3.遠端登入 由於我是用window的,所以肯定用到了xshell神器進行ssh遠端連線,因為這個東西確實好用。
如何使用xshell請自行百度哦。遠端連線登入後後,出現這樣一個介面證明你成功了
接下來就是linux命令列的基本操作了,按照配置各種檔案。linux基本命令跟lrsz的按照參照這篇文章linux基礎命令跟lrsz安裝
4.安裝nodejs的快樂時刻到了~
[root@localhost ~]# cd / #進入根目錄
[root@localhost /]# mkdir soft && cd soft #用來放置安裝包
[root@localhost soft]# wget https://nodejs.org/dist/v8.9.4/node-v8.9.4.tar.gz #下載nodejs壓縮包
[root@localhost soft]# tar -zxvf node-v8.9.4.tar.gz #解壓縮
[root@localhost soft]# cd node-v8.9.4.tar && ./configure #進行配置,使用預設配置
[root@localhost node-v8.9.4]# make && make install #進行編譯
複製程式碼
安裝之後就已經自帶npm了,但是國外的映象太慢,我們要換個國內的,參考這篇文章nrm的使用,npm映象源切換
漫長的等待之後,一個可以使用的node環境就安裝好了,可以通過執行node -v或者npm -v來檢測當前的node/npm安裝是否成功。如果有出現版本號,那麼就是安裝成功了。
如果編譯過程中出現g++: Command not found以及C Compiler可以升級來解決,執行下列指令
[root@localhost ~]# yum -y install gcc make gcc-c++ openssl-devel wget
複製程式碼
5.安裝nginx 進行多埠檔案對映啦~
[root@localhost ~]# cd /soft #進入安裝目錄
[root@localhost soft]# wget -c https://nginx.org/download/nginx-1.11.6.tar.gz #下載nginx安裝壓縮包
[root@localhost soft]# tar -zxvf nginx-1.11.6.tar.gz
[root@localhost soft]# cd nginx-1.11.6
[root@localhost nginx-1.11.6]# yum install -y pcre pcre-devel #安裝PCRE依賴庫
[root@localhost nginx-1.11.6]# yum install -y zlib zlib-devel #安裝zlib 依賴庫
[root@localhost nginx-1.11.6]# yum install -y openssl openssl-devel #安裝OpenSSL安全套接字層密碼庫
[root@localhost nginx-1.11.6]# ./configure
複製程式碼
如果報找不到openSSL,那麼可以指定一下路徑:
[root@localhost nginx-1.11.6]# ./configure --prefix=/usr/local/nginx --with-openssl=/usr/bin/openssl
[root@localhost nginx-1.11.6]# ./configure #使用預設配置指令
[root@localhost nginx-1.11.6]# make && make install #重新進行編譯安裝
複製程式碼
又是經過漫長的時間等待,終於安裝好了。
[root@localhost ~]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx
[root@localhost sbin]# ./nginx -s stop
[root@localhost sbin]# ./nginx -s quit
[root@localhost sbin]# ./nginx -s reload
複製程式碼
如果顯示埠占用 執行命令
netstat -anp|grep 80
複製程式碼
檢視佔用埠的程式,找到這個這個程式的id,一般是aliyundun這個程式佔用了80埠 執行 kill -9 程式id,結束程式。 然後執行 ./nginx -s reload 命令重啟下nginx
如果重啟的時候出現了 nginx: [error] open() /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)錯誤 執行下面命令,使用nginx -c的引數指定nginx.conf檔案的位置
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
複製程式碼
如果上述處理後還有埠占用報錯,nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 執行下命令ps -ef | grep nginx 看下主目錄 是哪裡 是不是裝了兩個可惡的 Nginx
執行ps aux|grep nginx 檢視到nginx正在執行,OK。
最後再來設定nginx的開機自啟動
執行vi /etc/rc.local
在rc.local增加啟動程式碼 /usr/local/nginx/sbin/nginx 就可以了
執行chmod 755 /etc/rc.local</pre>
執行命令 curl localhost 出現nginx的歡迎頁面
複製程式碼
如果出現curl 訪問內網ip 可以的話,但是用瀏覽器訪問公網ip不行,可能是防火牆的配置問題
執行下面的指令
iptables -F
iptables -F -t nat
iptables -X
iptables -X -t nat
複製程式碼
如果還是瀏覽器訪問不了,那麼請接著看下去。
6.進行安全組的配置
你發現可以ping得通你的公網ip跟內網ip,甚至也是可以curl 內網ip的,可是你就是無法通過瀏覽器訪問你的伺服器ip,這裡有兩個坑,關於伺服器的安全組對於80埠跟443埠的配置
按照這個規則配置80跟443埠的安全組(後面https會用到),然後重啟下伺服器,OK,可以通過公網ip跟域名訪問到你的主頁了。
7.https的證書配置
在阿里雲控制檯,CA證書那裡,購買私人免費證書,填寫自己的域名,,選擇系統自動生成,選擇域名解析驗證證書。購買連結 等待稽核通過之後,進行證書的下載。
下載壓縮包解壓縮後會有公鑰跟私鑰兩份檔案。
然後在xshell軟體
執行
cd /usr/local/nginx/conf
mkdir cert
cd cert
rz #回車,選擇下載解壓後的.rem跟.key檔案,放置於建立的cert資料夾中
cd ..
cp nginx.conf nginx.back
vi nginx.conf #編輯nginx的對映配置
# HTTPS server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}
複製程式碼
改為
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/214570829410835.pem;
ssl_certificate_key cert/214570829410835.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
複製程式碼
字尾為.rem跟.key的檔案根據你放置在cert的檔名進行修改。
修改完之後儲存
執行
/usr/local/nginx/sbin/nginx -s reload
複製程式碼
重啟nginx
開啟瀏覽器訪問https://公網ip跟https://域名,顯示nginx首頁,OK。
ps:curlhttps://域名
SSL received a record that exceeded the maximum permissible length
最後發現是ssl on;
沒加
後面如果要更改你對映的資料夾,只需要修改
location / {
root html;
index index.html index.htm;
}
複製程式碼
root 後面帶的資料夾路徑就可以了。這裡的html是相對路徑,根據目前的nginx.conf為路徑基礎的相對路徑,相當於/usr/lcoal/nginx/conf/html
8.mysql服務的配置
cd /soft #進入soft目錄
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm #下載安裝需要用到的源
rpm -ivh mysql-community-release-el7-5.noarch.rpm #安裝下載的源
yum install mysql-server #安裝mysql
service mysqld start #啟動mysql服務
複製程式碼
如果遇到錯誤ERROR 2002 (HY000): Can't connect to local MySQL server through socket /var/lib/mysql/mysql.sock'。
在tmp目錄下建立一個軟連結,執行命令為:
ln -s /tmp/mysql.sock /var/lib/mysql
複製程式碼
開啟my.cnf並修改配置
vi /etc/my.cnf
複製程式碼
重啟資料庫
restart mysqld.service
複製程式碼
使用命令修改當前使用者的密碼(預設root是沒有密碼的):
mysqladmin -u root password '密碼'
複製程式碼
使用命令進入資料庫:
mysql -u root -p密碼
複製程式碼
在資料庫命令列介面下執行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
複製程式碼
然後再輸入
flush privileges;
複製程式碼
讓命令生效。需要注意的是每行命令的最後要加;,不然是不會執行的。 第一個是資料庫,可以改成允許訪問的資料庫名稱 第二個 是資料庫的表名稱,*代表允許訪問任意的表 root代表遠端登入使用的使用者名稱,可以自定義 %代表允許任意ip登入,如果你想指定特定的IP,可以把%替換掉就可以了 password代表遠端登入時使用的密碼,可以自定義
輸入查詢命令來看看最終的結果。
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
複製程式碼
到此MySQL資料庫就完成安裝了,這個時候可以使用某個客戶端連線上資料庫看了(推薦navicat for mysql),也可以直接進入伺服器的命令列模式檢視資料庫。
不過在此之前,我們要先到阿里雲安全組裡面增加安全規則,否則還是無法遠端訪問的,就跟前面的http跟https訪問一樣。這裡給下配置
命令列介面遠端登入
mysql -h 伺服器ip地址 -P 3306 -u root -p密碼
複製程式碼
客戶端登入(使用navicat)在工作開發中也是使用圖形介面,方便操作
這裡是這個軟體的下載地址跟破解補丁 navicat
配置到此就結束了,如果在閱讀中遇到什麼配置的問題,歡迎評論以及留言。同時歡迎關注我,以及在下面給我評論