伺服器配置(一)

虛竹子發表於2019-04-15

目標:配置一個 LNMP 伺服器,支援域名解析,支援二級域名解析,支援 PHP,支援 Node 服務,支援資料庫 Mysql…

準備

額外宣告,本教程很 low,大部分都是隻說明了怎麼用,沒有講原理,還有許多錯誤解釋,請見諒。

由於本次配置的是雲伺服器,所以你需要有一個雲伺服器,在這就不贅述了。

同時還需要一個域名,用來對映伺服器資源。

重灌伺服器,在這裡我們選擇的系統版本是 Ubuntu Server 14.04.1 LTS 64位,其他版本也類似,你喜歡就好,不過不保證下面的安裝方法有效。

連線伺服器,我用的ssh連線。

ssh ubuntu@123.206.55.207 需要注意的是ubuntu預設的使用者是 ubuntu,如果你是其他的 linux 系統,請把使用者名稱換成 root 或相應的使用者名稱。

安裝

我們使用apt-get來安裝各種軟體

nginx 1.4.6

sudo apt-get install nginx

mysql 5.5 (記住你輸的 mysql 密碼)

sudo apt-get install mysql-server mysql-client
php 7.0 (16.04以下的Ubuntu沒有7.0的源,需要先自己新增然後安裝)

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-mbstring php7.0-zip php7.0-cgi php7.0 php7.0-fpm
複製程式碼

可能會要等好久,耐心一點吧。

git

sudo apt-get install git
複製程式碼

配置

nginx

先進入 nginx 配置檔案目錄

cd /etc/nginx

修改 nginx 配置,提供兩種方法,一種是用變數配置通配服務,另一種是為每一個服務寫一個配置檔案。現在只介紹通配方法,寫配置檔案方法在後面,你可以先跳過去看看。

在nginx配置檔案(/etc/nginx/sites-enabled/default)中插入如下 server 配置,插入即可,不用修改預設 server。記得把 yourdomain.com替換成你自己的域名。

server {
    listen 80;
    server_name  ~^((?<subdomain>.*)\.)?yourdomain\.com$;
		if ($subdomain = "") {
	        set $subdomain "www";
	   	}
       root   html/$subdomain;
       index  index.html index.htm index.php;
       fastcgi_intercept_errors on;
       error_page  404      = /404.html;
       location / {
               # This is cool because no php is touched for static content.
               # include the "?$args" part so non-default permalinks doesn't
               # break when using query string
               try_files $uri $uri/ =404;
      }
       # redirect server error pages to the static page /50x.html
       #
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   html;
       }
       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
       #
       location ~ \.php$ {
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
               # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
               # With php5-cgi alone:
       #       fastcgi_pass 127.0.0.1:9000;
       #       # With php5-fpm:
               fastcgi_pass unix:/run/php/php7.0-fpm.sock;
               fastcgi_index index.php;
               include fastcgi_params;
       }
       # deny access to .htaccess files, if Apache's document root
       # concurs with nginx's one
       #
       location ~ /\.ht {
           deny  all;
       }
}
複製程式碼

插入之後,我們重啟一下 nginx 服務

sudo service nginx restart

重啟成功後,我們需要進入 nginx 的資源目錄。

cd /usr/share/nginx/html/

由於我們用的是變數法通配的二級域名,預設的 www 或者不加 www 訪問的網址在 nginx 資源目錄的 www 目錄下,我們在www目錄下寫一個 index.php 來試試上面的配置是否生效。

sudo mkdir www && cd www
sudo touch index.php
複製程式碼

index.php 內容

<?php
 phpinfo();
?>
複製程式碼

解析域名

其實上一步忘了一件事,那就是解析域名,我們需要進行域名雲解析。首先新增一條 @ 記錄

然後再加一條 www,與上面類似。

我們為了測試二級域名的配置是否生效,加上自己想要二級域名字首,我加的是 wp,因為待會想要測試一下 WordPress 能否正常搭建。

測試 好了,完成了上面的步驟,我們就基本完成了本次伺服器的配置,我們瀏覽我們的域名,檢視是否生效。 如果正常的話,應該會列印出 php 的配置資訊。

到此,我們的 LNMP 伺服器已經配置好,以後每次想要修改資原始檔,只需要在/usr/share/nginx/html/中修改對應域名名稱的資料夾下的內容即可,比如我要修改 blog.admin.com 的內容,只需修改/usr/share/nginx/html/blog 中的資源。

對於每一個二級域名,我們都需要在域名管理的雲解析中新增對應的解析即可。

相關文章