安装开发环境

按照个人使用习惯安装LNMP、WNMP、LAMP、WAMP,LNMPA等开发环境。下面以LNMP和WNMP开发环境为例。

关于Linux Server 和 Windows Server之间的选择,可以按照实际项目规模和个人使用习惯来判断。两者各具优点:

Linux本身就是网络操作系统并与unix兼容且多用户多进程,开放完整成熟的社区,模块化,可裁剪,用户管理严格,病毒难以破坏。

Windows单用户伪多用户系统,用户管理混乱,漏洞百出,而且常常蓝屏。

当然,图形化界面更容易初学者上手,也是一个不错的选择。

Linux平台

Linux 平台可以使用 LNMP一键安装包:

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。

简而言之

如果不想查看LNMP一键安装包内容,可以按照以下步骤进行:

1. 使用putty或类似的SSH工具登陆VPS或服务器

登陆后运行:screen -S lnmp 如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装,详细内容可以查看screen教程。

2. 下载并安装LNMP一键安装包

1
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh  lnmp

Windows平台

Windows平台由于图形化界面,容易上手,无论是WNMP或者是WAMP都可以直接使用软件解决。这里推荐两款软件:phpStudy和WAMP Server

当然,这里更推荐phpStudy,原因有二:

  1. WAMP安装涉及配置较多,安装更容易出现问题,且使用不便。
  2. phpStudy安装简单,配置较少,且集成了Nginx、IIS、Apache、nts等服务环境。

鉴于以上,更偏向使用phpStudy

接下来,将以Linux(CentOS7)+Nginx+MySQL+PHP7的开发环境进行…

部署网站根目录

准备工作

  1. 服务器必备,例如阿里云、百度云、AWS等,会提供服务器公网IP,这里假设以47.63.13.2为例。
  2. 一个域名,解析到服务器,例如:odin.com解析到47.63.13.2,这里一般在阿里云、百度云或者AWS都有入口。

接下来将在服务器上建立一个主机:

1
lnmp vhost add

按照步骤进行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost ~]# lnmp vhost add +-------------------------------------------+
| Manager for LNMP, Written by Licess | +-------------------------------------------+
| https://lnmp.org | +-------------------------------------------+
Please enter domain(example: www.lnmp.org): odin.com
Your domain: www.odin.com
Enter more domain name(example: lnmp.org *.lnmp.org): Please enter the directory for the domain: odin.com
Default directory: /home/wwwroot/odin.com: /home/wwwroot/odin.com/odin/public
Virtual Host Directory: /home/wwwroot/odin.com/odin/public
Allow Rewrite rule? (y/n) y
Please enter the rewrite of programme, wordpress,discuzx,typecho,thinkphp,laravel,codeigniter,yii2 rewrite was exist. (Default rewrite: other): laravel
You choose rewrite: laravel
Enable PHP Pathinfo? (y/n)
Disable pathinfo. Allow access log? (y/n)
Disable access log. Create database and MySQL user with same name (y/n)
Add SSL Certificate (y/n)
Press any key to start create virtul host...

这里注意Virtual Host Directory: /home/wwwroot/odin.com/odin/public是网站根目录的地址,当然也可以转移到别处。You Can 自定义。当然odin/public根据你建立的laravel项目自定义。这里由于使用的是laravel5,因此你需要Allow Rewrite rule? (y/n) y,选择laravel。

部署Laravel开发环境

这里使用Laravel5.7,可以查看Laravel5.7建立项目。

初始化工作

  1. 进入项目目录:
1
cd /home/wwwroot/odin.com/
  1. 查看项目目录:
1
2
[root@localhost odin.com]# ls
odin
  1. 删除文件夹下所有文件
1
2
3
4
[root@localhost odin.com]# chattr -i odin/public/.user.ini
[root@localhost odin.com]# rm -rf *
[root@localhost odin.com]# ls
[root@localhost odin.com]#

当然,如果你想直接使用公司提供的开发包,可以直接clone本仓库到根目录下,然后

1
2
composer dump-auto
composer update

安装laravel项目

Laravel 项目可以直接使用以下方式安装:

1
[root@localhost odin.com]# composer create-project --prefer-dist laravel/laravel odin

安装时可能出现的错误(一):

1
2
3
4
[Symfony\Component\Process\Exception\RuntimeException]
The Process class relies on proc_open, which is not available on your PHP installation.
[ErrorException]
proc_get_status() has been disabled for security reasons

_解决方法: _

1
vim /usr/local/php/etc/php.ini

大约在314行disable_functions注释掉proc_open、proc_get_status。

安装时可能出现的错误(二):

1
2
[InvalidArgumentException]
Project directory odin/ is not empty.

_解决方法: _

1
2
cd /home/wwwroot/odin.com
rm -rf *

安装时可能出现的错误(三):

1
安装完成后页面访问500

_解决方法 _

  1. 权限问题:
1
2
cd /home/wwwroot/odin.com
chmod -R 777 *
  1. 主机访问目录问题:
1
2
cd /root/lnmp1.5/tools
./remove_open_basedir_restriction.sh
1
出现问题:/home/wwwroot/odin.com/.user.ini is not exist!

解决方法

1
2
3
4
5
cd /usr/local/nginx/conf/vhost
rm odin.com.conf
#重新建立虚机
lnmp vhost add
#按照之前的步骤进行,而后运行./remove_open_basedir_restriction.sh

注意,open basedir 在项目根目录进行。这里提供nginx简单配置文件/usr/local/nginx/conf/vhost/odin.com.conf:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
server
{
listen 80;
#listen [::]:80;
server_name odin.com ;
index
index.html
index.htm
index.php default.html default.htm default.php;
root /home/wwwroot/odin.com/odin/public;
include rewrite/laravel.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
# location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ {
# deny all;
# }
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\. {
deny all;
}
access_log off;
}

安装laravel Dingo

添加一些基础文件,便于后期操作。Dingo/Api 的更多说明可以查看 Dingo/Api 维基。

修改/home/wwwroot/odin.com/odin/composer.json

在“require”下添加"dingo/api": "2.0.0-alpha1","predis/predis": "^1.1"或者复制如下:

1
2
3
4
5
6
7
8
"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "5.7.*",
"laravel/tinker": "^1.0",
"dingo/api": "2.0.0-alpha1",
"predis/predis": "^1.1"
},

在“autoload”下添加“files”,或者复制如下: 当然,你需要首先在app/Helpers目录下创建common.php、const.php、request.php文件。如果没有Helpers目录可以新建。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Helpers/common.php",
"app/Helpers/const.php",
"app/Helpers/request.php"
],
"classmap": [
"database/seeds",
"database/factories"
]
},

加载common.php、const.php、request.php

1
[root@localhost odin]# composer dump-auto

安装dingo/api和predis/predis

1
[root@localhost odin]# composer update

在.env文件中添加以下文本内容:

1
2
3
4
5
6
7
8
9
API_STANDARDS_TREE=vnd
API_SUBTYPE=myapp
API_PREFIX=api
API_VERSION=v1
API_DEFAULT_FORMAT=json
API_DEBUG=true
API_NAME="api"
API_CONDITIONAL_REQUEST=false
API_STRICT=false

编辑/home/wwwroot/odin.com/odin/config/app.php的providers下添加Dingo\Api\Provider\LaravelServiceProvider::class

编辑/home/wwwroot/odin.com/odin/routes/api.php为:

1
2
3
4
5
use Illuminate\Http\Request;
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', ['namespace' => 'App\Http\Controllers\Api'], function ($api) {
$api->any('/', 'TestController@test');
});

编辑/home/wwwroot/odin.com/odin/app/Http/Controllers/Api/TestController.php为:

1
2
3
4
5
6
7
8
9
10
11
12
13
namespace App\Http\Controllers\api;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redis;
use App\Http\Requests\LoRa\Test;
class TestController extends Controller
{
public function test()
{
var_dump("test");
}
}

去访问http://odin.com/api吧!!!!

Dingo安装完毕!!!!!

基本环境安装完毕…


本文早期发布于个人 CSDN 博客:查看原文

站内搜索

没有找到内容!