1.購買服務器跟域名html
首先購買一臺學生服務器,選擇這個套餐,挺實惠的,順便買個xin域名。懶人點擊這個連接購買購買連接1 購買連接2,默認購買linux系統centos7.4node
2.域名解析mysql
對域名進行dns解析。購買域名後,點擊進入控制檯,而後點擊進入域名和網站欄目 點擊域名解析,點擊新手引導,進行快捷解析便可。服務器的ip在控制檯,ecs服務器實例裏面查看,爲公網ip。linux
3.遠程登陸 因爲我是用window的,因此確定用到了xshell神器進行ssh遠程鏈接,由於這個東西確實好用。nginx
如何使用xshell請自行百度哦。遠程鏈接登陸後後,出現這樣一個界面證實你成功了c++
接下來就是linux命令行的基本操做了,按照配置各類文件。linux基本命令跟lrsz的按照參照這篇文章linux基礎命令跟lrsz安裝git
4.安裝nodejs的快樂時刻到了~github
[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鏡像源切換sql
漫長的等待以後,一個可使用的node環境就安裝好了,能夠經過執行node -v或者npm -v來檢測當前的node/npm安裝是否成功。若是有出現版本號,那麼就是安裝成功了。shell
若是編譯過程當中出現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
配置到此就結束了,若是在閱讀中遇到什麼配置的問題,歡迎評論以及留言。同時歡迎關注我,以及在下面給我評論