如何在云服务器上部署Laravel的解析
本篇文章主要介绍了详解如何在云服务器上部署Laravel,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
学习PHP和Laravel已经有一段时间了,但是所有的代码都是跑在本地的虚拟主机上的,于是去腾讯云申请了一个月的免费云主机,想把项目部署到云服务器上。
不得不说这里面的坑实在是有点多,让我这个初次接触服务器的小白摸不清头脑。在配置好服务器之后,部署一个Laravel项目更是费劲心思,于是乎想记录下部署Laravel项目的过程。
PS: Linux真是越用越有感觉的系统,回家在台式机上也要装个Linux敲代码用。
环境简介
在操作系统的选择上,我选用了Linux ubuntu16.04的系统,使用的是LNMP的环境,即 Linux + Nginx + Mysql + PHP的环境。
删除Apache
sudo service apache2 stop update-rc.d -f apache2 remove sudo apt-get remove apache2
先用这三条命令来删除Apaceh 之后更新一下包列表
sudo apt-get update
1.安装Nginx
sudo apt-get install nginx
在安装完Nginx之后,要重启nginx
sudo service nginx start
执行完之后,在浏览器输入云服务器分配给你的公网ip,就可以看到welcome to nginx的界面了
2. 安装Mysql
sudo apt-get install mysql-server mysql-client
过程中会提示你设置Mysql的密码,就跟平时的密码设置一样,一次输入,一次确认。密码确认完毕后基本等一会就安装好了。尝试
mysql -u root -p
如果登录成功,那Mysql就正确安装了。
3.安装PHP
sudo apt-get install php5-fpm php5-cli php5-mcrypt
只有通过php5-fpm,PHP在Nginx下才能正常运行,遂,安装之。
至于php5-mcrypt,有些PHP框架会依赖于这个,比如Laravel就是,所以也把它装上了。
题外话,这里的php5我自己在部署时安装了php7 如果想尝试的也可以试试。
4.配置PHP
sudo vim /etc/php5/fpm/php.ini
打开PHP配置文件,找到cgi.fix_pathinfo选项,去掉它前面的注释分号;,然后将它的值设置为0,如下
cgi.fix_pathinfo=0
5. 启用php5-mcrypt:
sudo php5enmod mcrypt
6.重启php5-fpm:
sudo service php5-fpm restart
在搭建完LEMP环境之后,首先要明确两个重要目录
Nginx的默认root文件夹
/usr/share/nginx/html
Nginx的服务器配置文件所在目录
/etc/nginx/sites-available/
上面两个目录记住就好,很常用,先摆出来
下面一步一步在云服务器上部署Laravel
1.创建网站的根目录
sudo mkdir -p /var/www
2.配置nginx服务器
sudo vim /etc/nginx/sites-available/default
打开nginx的配置文件之后,找到server这一块,大概是长这个样子的
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; } }
其中root,index ,server_name和location这几行需要稍微修改一下
root修改
root /var/www/laravel/public;
这里就是将nginx服务器的根目录指向Laravel的public文件夹下,后续的Laravel项目的代码我们会放在我们之前创建的/var/www/laravel目录下
index修改
index index.php index.html index.htm;
这里需要注意的是,将index.php排在最前面
server_name修改
server_name server_domain_or_IP;
将server_domain_or_IP修改为你的公网IP
location修改
location / { try_files $uri $uri/ /index.php?$query_string; }
修改完是这样的:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/laravel/public; index index.php index.html index.htm; server_name server_domain_or_IP; location / { try_files $uri $uri/ /index.php?$query_string; } }
最后我们还需要配置一下Nginx,让其执行PHP文件。同样是在这个文件里,在location下方添加下面的配置:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/laravel/public; index index.php index.html index.htm; server_name server_domain_or_IP; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
注意,最下面的location ~ \.php$
是自己加上去的:
配置完之后重启Nginx,使上面的配置项生效。
sudo service nginx restart
3.创建Laravel项目
在配置完nginx后,怎么获取Laravel的项目代码呢?有以下几种方法:
(1).直接composer安装
直接通过composer来安装,你可以在服务器上通过执行
cd ~ curl -sS https://getcomposer.org/installer | php
上面命令会安装composer
composer全局使用:
sudo mv composer.phar /usr/local/bin/composer
然后在/var/www目录下直接执行
sudo composer create-project laravel/laravel laravel
因为我们之前创建/var/www目录,你可以直接cd /var/www然后执行上面的命令。然后坐等安装完成。
(2).直接上传代码
使用下面命令上传
scp -r laravel root@your_IP:
然后在服务器上将laravel移动到/var/www目录下
sudo mv laravel/ /var/www
(3).使用Git和Coding平台
个人比较喜欢使用git来上传代码,可以很方便的更新代码和进行回滚,一旦版本更新出Bug我可以借助Git的强大版本管理能力来修复Bug。流程大概是这样:
本地代码---->Github---->云服务器
既然要使用git,那么先在云服务器上安装git:
sudo apt-get install git
安装完成就可以使用git了,然后在Github上创建一个私有项目laravel,里面包含所有该Laravel项目所需代码。
一旦本地代码都推送到Coding,然后在/var/www目录下直接使用
git clone your-project-git-link
your-project-git-link替换为你Github上的laravel项目地址
5.BINGO
在浏览器输入:http://server_domain_or_IP
至此,你可以在服务器上随意地用Laravel了,keep coding!
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
Atas ialah kandungan terperinci 如何在云服务器上部署Laravel的解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

URL panjang, sering berantakan dengan kata kunci dan parameter penjejakan, boleh menghalang pelawat. Skrip pemendekan URL menawarkan penyelesaian, mewujudkan pautan ringkas yang sesuai untuk media sosial dan platform lain. Skrip ini sangat berharga untuk laman web individu a

Berikutan pengambilalihan berprofil tinggi oleh Facebook pada tahun 2012, Instagram mengadopsi dua set API untuk kegunaan pihak ketiga. Ini adalah API Grafik Instagram dan API Paparan Asas Instagram. Sebagai pemaju membina aplikasi yang memerlukan maklumat dari a

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Ini adalah bahagian kedua dan terakhir siri untuk membina aplikasi React dengan back-end Laravel. Di bahagian pertama siri ini, kami mencipta API RESTful menggunakan Laravel untuk aplikasi penyenaraian produk asas. Dalam tutorial ini, kita akan menjadi dev

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Tinjauan Landskap PHP 2025 menyiasat trend pembangunan PHP semasa. Ia meneroka penggunaan rangka kerja, kaedah penempatan, dan cabaran, yang bertujuan memberi gambaran kepada pemaju dan perniagaan. Tinjauan ini menjangkakan pertumbuhan dalam PHP Versio moden
