雙十一了,阿里雲推出了史上最優惠的雲服務器產品(點擊這裏查看詳情),1核2G新用戶只須要99元/年,一次性買3年只須要不到300元,價格確實極大的優惠。javascript
要是老用戶的話能夠用新開一個帳號,用親戚朋友的身份證認證一下也能享受1折優惠,加入個人戰隊(點擊這裏查看詳),邀請一我的差很少能瓜分戰隊的 php50元分成+50元現金紅包+25%返現
。打個比方,假如你是新用戶,你買了一個3年的雲服務器一共300塊,買事後,你成功邀請一人(下單3年的雲服務器)就可分50(戰隊紅包) + 50(現金紅包) + 300*25%(返利紅包)。至關於買服務器的錢回來了一半(折上5折)
,聽着是否是很誘惑人,進來了解下吧;目前戰隊排名是top15,後名次靠前的話還有更大的優惠。m.aliyun.com/act/team111…
不少前端的小夥伴買了雲服務器後,擔憂不會配置,畢竟不少的前端還不是很會配置nginx,這裏小編詳細講解下我買的阿里雲服務器配置的過程。css
點擊上面連接就可參團購買,購買過程當中推薦系統選擇CentOS
和Ubuntu
系統。Ubuntu系統用戶佔用率高,因此文檔天然也多,比較適合新手;CentOS比較適合企業和商用,通常看大家公司用的都是CentOS系統的;具體2者的區別可查看這裏;小編買的是Ubuntu 16.04 64位
。其餘的選項選擇默認就行,地區只要是國內的都很快。html
買好後,點擊頭像=>選擇產品服務=>雲服務器,便可看到購買過的服務器產品。基本信息,配置信息,對cpu的監控一目瞭然。買阿里雲的一個主要緣由仍是阿里雲盾安全。前端
能夠在更多
裏面修改遠程鏈接密碼和重置服務器密碼,修改好後,嘗試遠程鏈接下,先輸入遠程鏈接密碼,後登錄用戶名(root)、密碼便可。java
固然,也可直接使用命令行連接 :node
sudo ssh 服務器外網ip
輸入電腦密碼,輸入服務器密碼
複製代碼
除此以外,你也可用工具連接,對於 lunix
命令不是很熟悉的小夥伴比較實用。 這裏推薦用Transmit
和Filezilla
其餘的都同樣,用戶名輸入root
,端口選擇 22
便可。python
更新ubuntu軟件源linux
sudo apt-get update
sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
複製代碼
安裝nginxwebpack
sudo apt-get install nginx
# 檢查是否安裝成功
nginx -v
複製代碼
安裝好的文件位置:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放靜態文件
/var/log/nginx:存放日誌
複製代碼
其實從上面的根目錄文件夾能夠知道,Linux系統的配置文件通常放在 /etc
,日誌通常放在 /var/log
,運行的程序通常放在 /usr/sbin
或者 /usr/bin
。固然,若是要更清楚Nginx的配置項放在什麼地方,能夠打開 /etc/nginx/nginx.conf
。
一、安裝nodejs
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
複製代碼
更新npm的包鏡像源,方便快速下載
sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list
複製代碼
全局安裝n管理器(用於管理nodejs版本)
sudo npm install n -g
複製代碼
安裝最新的nodejs(stable版本)
sudo n stable
# 檢查是否安裝成功
node -v
npm -v
複製代碼
二、安裝webpack
npm install webpack-cli -g
npm install webpack -g
複製代碼
三、安裝git
若是系統未安裝git的話,就會很是友好的提示安裝git的命令:
apt-get install git
複製代碼
在雲服務器上,關於git的相關操做就不方便用圖形界面化工具了,如今命令行的優點出來了,具體git命令請參考
遺漏的工具後續會補上
nginx安裝完成後,配置文件爲 /etc/nginx/nginx.conf
和 /etc/nginx/conf.d/default.conf
cd /etc/nginx
vim nginx.conf
cd /etc/nginx/conf.d
vim default.conf
複製代碼
自定義nginx.conf 配置
#運行用戶,默認便是nginx,能夠不進行設置
user root;
#Nginx進程,通常設置爲和CPU核數同樣
worker_processes 1;
#進程pid存放位置
pid /run/nginx.pid;
events {
worker_connections 1024; # 單個後臺進程的最大併發數
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on; #開啓高效傳輸模式
tcp_nopush on; #減小網絡報文段的數量
tcp_nodelay on;
keepalive_timeout 65; #保持鏈接的時間,也叫超時時間
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types; #文件擴展名與類型映射表
default_type application/octet-stream; #默認文件類型
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on; #開啓gzip壓縮
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf; #包含的子配置項位置和文件
# include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
複製代碼
自定義default.conf 配置
server {
listen 80; #配置監聽端口
server_name localhost; #配置域名
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
#服務默認啓動目錄
root /usr/share/nginx/html/pc; #pc
# nginx適配pc和app設備
if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|BlackBerry)') {
root /usr/share/nginx/html/app; #app
}
index index.html; #默認訪問文件
allow all; #容許訪問的ip
# deny all; #拒絕訪問的ip
}
# redirect error pages to the static page /404.html
error_page 404 /static/html/404/404.html; # 配置404頁面
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /static/html/404/500.html; #錯誤狀態碼的顯示頁面,配置後須要重啓
# ^~ 表示uri以某個常規字符串開頭,大多狀況下用來匹配url路徑,nginx不對url作編碼,所以請求爲/static/20%/aa,
# 能夠被規則^~ /static/ /aa匹配到(注意是空格)。
location ^~ /static/ {
root /usr/share/nginx/html;
allow all; #容許訪問的ip
# deny all; #拒絕訪問的ip
}
location = /50x.html {
root /usr/share/nginx/html/pc/; #pc
# nginx適配pc和app設備
if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|BlackBerry)') {
root /usr/share/nginx/html/app/; #app
}
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
複製代碼
咱們服務的默認目錄放在 /usr/share/nginx/html
了下。
cd /usr/share/nginx/html
ls
複製代碼
假如你要定義服務器的默認訪問目錄,修改
location /
中的root便可,不過須要開通下你自定義目錄的權限。
以/root/www
是自定義目錄爲例
# 須要一層層分別開通權限
chmod -R 777 /root
chmod -R 777 /root/www
複製代碼
假如你使用的是 Transmit
等服務器工具,也可用工具查看
# redirect error pages to the static page /404.html
error_page 404 /static/html/404/404.html; # 配置404頁面
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /static/html/404/500.html; #錯誤狀態碼的顯示頁面,配置後須要重啓
複製代碼
而後在你默認或者自定義的服務器目錄下,根據你的錯誤頁配置,新建相關的頁面便可。
在匹配規則裏面,有2個字段能夠控制這個規則下的訪問權限
location / {
allow all; #容許訪問的ip
# deny all; #拒絕訪問的ip
}
複製代碼
實際狀況中,訪問權限的控制仍是比較複雜的,例如,要求服務器 static
(靜態目錄)全部用戶都能訪問,且,從新定義訪問路徑,咱們須要location塊來完成相關的需求匹配。
# ^~ 表示uri以某個常規字符串開頭,大多狀況下用來匹配url路徑,nginx不對url作編碼,所以請求爲/static/20%/aa,
# 能夠被規則^~ /static/ /aa匹配到(注意是空格)。
location ^~ /static/ {
root /usr/share/nginx/html;
allow all; #容許訪問的ip
# deny all; #拒絕訪問的ip
}
複製代碼
對於nginx路徑匹配規則,也須要簡單的瞭解一下
符號的優先級
首先匹配 =,其次匹配^~, 其次是按文件中順序的正則匹配,最後是交給 / 通用匹配。當有匹配成功時候,中止匹配,按當前匹配規則處理請求。
後續補充。
如上述配置:
#服務默認啓動目錄
root /usr/share/nginx/html/pc; #pc
# nginx適配pc和app設備
if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|BlackBerry)') {
root /usr/share/nginx/html/app; #app
}
複製代碼
#服務默認啓動目錄
root /usr/share/nginx/html/pc; #pc
# nginx適配pc和app設備
if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|BlackBerry)') {
root /usr/share/nginx/html/app; #app
}
複製代碼
可用app和pc訪問個人服務器查看效果 47.99.212.100
從上面的配置文件能夠看出,nginx服務監聽的是80端口,因此記獲得ECS實例一下打開端口。步驟以下:
在nginx配置的過程當中,咱們
①先安裝nginx;
安裝好後,檢查是否安裝成功;②而後開始作相關nginx配置
;③配置完後檢查配置是否正常
;④而後啓動nginx
;⑤後續每次改動nginx配置都需重啓nginx
;
啓動nginx 服務
#方法一
nginx
#方法二
systemctl start nginx.service
複製代碼
查看全部啓動的nginx進程
ps aux | grep nginx
複製代碼
中止Nginx服務
#方法一
nginx -s stop
#方法二
nginx -s quit
#方法三
killall nginx
複製代碼
檢查nginx配置是否正常
nginx -t
複製代碼
重啓nginx服務
sudo nginx -s reload
複製代碼
查看端口占用狀況
netstat -tlnp
複製代碼
ssh連接雲服務器
sudo ssh 服務器外網ip
複製代碼
新建文件夾
mkdir www
複製代碼
移動文件
mv node-v6.10.0-linux-x64 nodejs
複製代碼
解壓文件
tar -xvf node-v6.10.0-linux-x64.tar.xz
複製代碼
查看文件路徑
pwd
複製代碼
訪問文件
cd
ls
複製代碼
編輯文件
vim nginx.conf
複製代碼