腾讯云服务器上部署LNMP环境

最近在学Laravel,同参考文章,本来只是在虚拟机上运行,但现在正好因为手上有腾讯云服务器,所以就直接拿来部署Laravel。

首先做下准备工作

代码语言:javascript
复制
sudo apt update

下面不是必要的,但是如果有开着apache2服务器的话,是必须做的

代码语言:javascript
复制
sudo service apache2 stop
update-rc.d -f apache2 remove
sudo apt-get remove apache2

1.安装Nignx

代码语言:javascript
复制
sudo apt install nginx && sudo service nginx start

安装完记得输入服务器的公网地址如果有显示

Welcome to nginx!

就表示安装成功了

2.安装Mysql

代码语言:javascript
复制
sudo apt install mysql-server 

期间要注意输入账号密码

3.安装php7.0

安装

代码语言:javascript
复制
sudo apt install phpo7.0-fpm php7.0-mcrypt

这里我装的是php7.0,这个在后面配置nginx的时候碰到了一个大坑,这里先不说,等到配置nginx的时候详细说明

配置

代码语言:javascript
复制
sudo vi /etc/php/7.0/fpm/php.ini 

找到cgi.fix_pathinfo删掉注释,并将其值改为0

代码语言:javascript
复制
cgi.fix_pathinfo=0

启用php7.0-mcrypt以及重启php服务

代码语言:javascript
复制
sudo phpenmod mcrypt
sudo service php7.0-fpm restart

4.配置nginx

nginx的配置文件在

代码语言:javascript
复制
/etc/nginx/sites-available/default

所以

代码语言:javascript
复制
sudo vim /etc/nginx/sites-available/default

这里说下我遇到的坑,我找到的参考文章都是安装的php5,然而我安装的是php7.0,这里导致了我的ngnix不能解析php文件,网站一直显示502错误,花了我一晚上的时间,废话不多说,我把我的配置贴出来

代码语言:javascript
复制
server {
    listen 80 default_server;
    listen [::]:80 default_server;
root /home/ubuntu/Code/Laravel/public;

index index.php index.html index.htm index.nginx-debian.html;

server_name servername or IP;# 这里填写服务器名或云服务器的IP

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt  { access_log off; log_not_found off; }

access_log off;
error_log  /var/log/nginx/error.log error;

location ~ \.php$ {
    try_files $uri /index.php =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

}

上面可以看到我把我的网站根目录改成了Laravel项目的根目录

最后

代码语言:javascript
复制
sudo service nginx restart

5.创建Laravel项目

代码语言:javascript
复制
composer create-project laravel/laravel Laravel --prefer-dist "5.4.*"

6.给网站访问用户权限

如果不给网页请求设置权限的话,就会显示无法访问的错误

代码语言:javascript
复制
sudo chown -R :www-data /home/ubuntu/Code/Laravel
sudo chmod -R 775 /home/ubuntu/Code/Laravel/storage

输入你的公网地址,如果能显示页面就表示成功了