1. 程式人生 > >個人網站上線的經歷

個人網站上線的經歷

網站從0到上線的完整步驟


記錄一下最近搭網站的過程,也為想搭網站的小夥伴們提供一個參考。

First

首先,搭網站就跟畫畫一樣,在正式畫畫之前得先準備幾個工具:顏料,畫板等等。對應於一個網站來說,它們就是域名與伺服器了。個人是在阿里雲在買的一套,一個國內域名以及一個低配的ecs雲伺服器,有了這兩個基本工具之後,就需要進行網站備案了(不得不說:阿里雲的辦事效率是真的高)9月20提交了稽核材料,30號備案就完成了。

Next

網站備案成功之後,再去阿里雲的控制檯頁面將自己的域名解析到ecs的公網IP上就可以正常訪問了。可能有人會說:為什麼我輸入域名訪問顯示一片空白呢?哈哈,這時有內容顯示才有鬼咧。。毛筆與顏料備齊了之後,如果沒有畫在畫板上,怎麼會有內容顯示呢!同樣的道理,這時我們就需要向伺服器中注入網站要顯示的內容了。在注入內容之前首先得搭建一個執行環境。沒錯,該輪到黃金組合LNMP登場了。我使用的是lnmp 一鍵安裝包,具體的網址。Google一下,第一個顯示的就是了。使用這個整合安裝包的好處就是省時又省力,只需要一行命令,再選擇一下各個軟體需要安裝的版本,之後的一切都會幫你做好,完全的傻瓜式安裝。

MORE

lnmp環境搭建完成之後,輸入域名訪問,正常情況會顯示一個lnmp官方的提示頁面,在該頁面可以檢視php版本資訊,以及進入phpmyadmin控制檯。接下來就是我寫這篇部落格的重點內容 了。花了整整將近一天時間在這上面。
工具和骨架都搭完了之後,就需要開始畫主體內容了。由於我使用的是laravel框架開發的文章釋出類的專案。因此入口檔案index.php在專案根目錄下的public目錄中。

這裡寫圖片描述

而輸入域名之後預設解析到伺服器的:/home/wwwroot/default 目錄下,也就是說即使將專案放在預設的站點目錄/home/wwwroot/default/下,輸入域名時也訪問不到專案的入口檔案。經過大量的Google與百度之後終於找到了解決之道。

FINAL

修改:/usr/local/nginx/conf/nginx.conf 檔案,具體配置項如下:

user  www www;

worker_processes auto;

error_log  /home/wwwlogs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
{ use epoll; worker_connections 51200; multi_accept on; } http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 50m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]\."; #limit_conn_zone $binary_remote_addr zone=perip:10m; ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section. server_tokens off; access_log off; #以下才是真正修改的內容,上面的都是預設的配置無需更改 server { listen 80 default_server; # listen [::]:80 default_server ipv6only=on; server_name 公網的IP; root 專案所在的目錄; index index.php index.html index.htm; #注意這裡註釋掉不然 報錯500 ,因為引入了php 配置 #include enable-php.conf; #laravel特有的配置 location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /.well-known { allow all; } location ~ /\. { deny all; } access_log /home/wwwlogs/access.log; }

儲存退出,再去
使用lnmp restart重啟nginx伺服器,這時再輸入域名就能正常訪問專案下的入口檔案了。

以上便是一個完整網站上線的過程。。。

最後附上完成的網站連結:You Write I record,歡迎大家賜教,提出改進意見,本人不勝感激。