部署Laravel項目php
從如今開始 莫等閒、html
能夠嘗試使用vultr購買服務器mysql
操做系統能夠選擇Ubuntu 14.04 x64nginx
添加ssh key 或者密碼登陸git
Ubuntu系統登入服務器可經過lsb_release -a
查看版本信息github
apt-get update
sql
安裝系統語言包 sudo apt-get install -y language-pack-en-base
json
設置語言 locale-gen en_US.UTF-8
vim
安裝經常使用工具 sudo apt-get install -y vim htop git
安全
安裝ppa以前先執行 sudo apt-get install -y software-properties-common
安裝ppa sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
拉取最新的packages sudo apt-get update
查找php7.1版本的packages apt-cache search php7.1
安裝php7.1 apt-get install -y php7.1
安裝extension:php7.1-mysql apt-get install -y php7.1-mysql
安裝extension:php7.1-fpm apt-get install -y php7.1-fpm
安裝其餘extension:php7.1-... apt-get install -y php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring
安裝Nginx+MySQL sudo apt-get install -y mysql-server-5.6
sudo apt-get install -y nginx
打開php配置文件php.ini sudo vi /etc/php/7.1/fpm/php.ini
,啓用並修改配置項 cgi_fix_pathinfo=0
打開php-fpm配置文件www.conf sudo vi /etc/php7.1/fpm/pool.d/www.conf
,最好修改配置項listen=/var/run/php7.1-fpm.sock
打開Nginx配置文件default sudo vi /etc/nginx/sites-available/default
,修改其root、location、server_name
建立項目根目錄 mkdir /var/www sudo chown www-data:www-data /var/www
從github上拉取項目全目錄,composer安裝,composer install, sudo chmod -R 775 storage/
sudo chown -R www-data:www-data /var/www/project
複製.env文件,修改基本配置
index index.php index.html index.html; server_name localhost www.example.com; location / { try_files $uri $uri/ /index.php?$query_string; } # pass the php script location ~ \.php$ { try_files $uri /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_pass unix:/var/run/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
修改Nginx配置文件server_name www.domain.com
使用DNSpod,修改A記錄的記錄值爲服務器公網IP,將兩條記錄添加到本身註冊域名的地方,修改其DNS值。
也能夠選擇使用startssl的免費ssl證書
使用startssl帳號登入,首頁選擇Validations Wizar驗證域名的全部者信息,驗證成功後申請免費的證書,可在輸入框中申請最多支持五個域名的ssl證書
經過粘貼命令生成csr文件,第一步設置解密文件的密碼,接下來按提示輸入CN、Beijing、Beijing、org Inc...
粘貼生成的csr文件到網站輸入框中,提交很快就頒發了證書,下載證書文件夾到本地,找到Nginx.zip 解壓獲得crt文件上傳到遠程服務器,因而遠程服務器如今應該有三個文件,一個是剛剛上傳的證書crt文件,一個是提交申請證書生成的csr文件,一個是提交證書生成的服務器key文件。
解密服務器key文件,再次進入startssl網站,找到首頁Tool Box 中的Decrypt Private Key,輸入密碼,生成解密後的服務器key
修改Nginx配置文件,打開配置443ssl的server,修改其ssl_certificate demo.crt
ssl_certificate_key demo.key
,執行sudo service nginx configtest
測試配置文件是否修改ok
修改Nginx配置文件,打開配置80的server,加入一行return 301 https://domain.com$request_uri
使其訪問80端口時直接重定向到443。
檢測https網站的安全性可訪問-->sslabs,大約兩分鐘左右獲得檢測結果報告
要使本身的網站達到A標準可參考server-configs-nginx,cat server-configs-nginx/h5bp/directive-only/ssl.conf
複製其ssl_ciphers、ssl_protocols、ssl_prefer_server_ciphers、keepalive_timeout配置項從新reload conf便可
或者能夠是用Mozilla SSL Configurationn Generator生成標準的ssl conf便可