说明
部署Laravel项目
从现在开始 莫等闲、
服务器
可以尝试使用vultr购买服务器
操作系统可以选择Ubuntu 14.04 x64
添加ssh key 或者密码登录
Ubuntu系统登入服务器可通过
lsb_release -a
查看版本信息
apt-get
apt-get update
安装系统语言包
sudo apt-get install -y language-pack-en-base
设置语言
locale-gen en_US.UTF-8
安装常用工具
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
配置lnmp
打开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值。
ssl证书
也可以选择使用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即可
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。