Windows 下搭建 lnmp 环境
安装 git
- 直接在 git 官网下载安装即可。
准备工作 - 下载 Vagrant 并安装
- 下载 VirtualBox 并安装
- 下载 ubuntu18.04 server
- 将 ubuntu 放在你的项目目录,打开 git bash ,cd 到你的项目目录
- 输入 vagrant box add lnmp xenial-server-cloudimg-amd64-vagrant.box
看到提示 box:Successfully added box for 'virtualbox' 即安装成功
初始化 box 输入 vagrant init lnmp
配置 vagrantfile 文件,启动虚拟机
vim vagrantfile
添加 config.vm.network "public_netword", ip:"your-ip"
运行 vagrant up
启动虚拟机
如果提示 powershell 相关问题,请下载 powershell 或者更新 powershell 到最新版本
运行 vagrant ssh
进入虚拟机
虚拟机下的 vagrant 的目录会映射到你项目目录,如果你想修改映射目录路径,先进入虚拟机后 修改 /etc/ssh/sshd_config 文件
PasswordAuthentication=yes
退出虚拟机 ,修改 Vgrantfile
config.vm.synced_folder "~/lnmp", "/home/vagrant"
前面是本地路径,后面是虚拟机路径
重启虚拟机 登录密码vagrant
安装 php
安装 php7.2
sudo apt-get install -y php7.2
php -v 查看是否安装成功
安装 PHP7.2 相关扩展
sudo apt-get install -y php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml php7.2-intl php7.2-zip php7.2-gd php7.2-opcache php7.2-common php7.2-cli
配置 php.ini 和设置 PHP-FPM 自启动
sudo vim /etc/php/7.2/fpm/php.ini
添加 cgi.fix_pathinfo=0
设置 fpm 自启动
sudo systemctl start php7.2-fpm
重启服务
sudo service php7.2-fpm restart
查看 php-fpm 是否安装成功
netstat -pl | grep php7.2-fpm
附赠卸载 php 相关命令
# 删除php的相关包及配置
sudo apt-get autoremove php7*
# 删除关联
sudo find /etc -name "*php*" |xargs rm -rf
# 清除dept列表
sudo apt purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
# 检查是否卸载干净(无返回就是卸载完成)
dpkg -l | grep php7.0
安装 composer
1. sudo wget https://getcomposer.org/download/1.10.5/composer.phar -O /usr/local/bin/composer
2. sudo chmod a+x /usr/local/bin/composer
3. 将 composer 换至国内镜像
4. composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
5. 下载 laravel 项目 composer create-project --prefer-dist laravel/laravel blog "6.*"
安装 mysql
ubuntu18.04 默认安装的是 mysql5.7 版本
sudo apt-get install mysql-server mysql-client
安装完成后 mysql -V 查看版本
设置 mysql 自动
sudo systemctl start mysql
安装途中如果需要设置 root 密码,直接设置。我安装的时候没有设置,需要修改 root 密码
查看系统默认提供的账户和密码
sudo vim /etc/mysql/debian.cnf
[client]
host = localhost
user = debian-sys-maint
password = hrhSN8SjW2k80Qij
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = hrhSN8SjW2k80Qij
socket = /var/run/mysqld/mysqld.sock
使用 client 中的 user 和 password 登录 mysql
use mysql
更新密码
update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';
更新root用户的plugin字段
date user set plugin='mysql_native_password' where user = 'root';
刷新权限
flush privileges;
退出mysql用 root 登录
使用 Navicat 连接数据库
主机: your-ip
用户名:root
密码: your password
如果提示 Connection refused
修改 mysql 配置
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释 bind-address = 127.0.0.1
修改 root 用户远程连接权限,登入 mysql
grant all privileges on *.* to 'root'@'%' identified by '123456';
刷新权限
FLUSH PRIVILEGES;
重新连接即可
卸载 mysql 相关命令
查看 mysql 依赖
dpkg --list|grep mysql
卸载
sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-5.7
清除残留项
dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
sudo apt-get autoremove --purge mysql-apt-config
再次查看依赖项
dpkg --list|grep mysql,无输出则表示完全删除
安装 nginx
sudo apt-get -y install nginx
然后运行 nginx -v 查看版本
由于国内的 ubuntu 镜像都自带了 apache2 查看 80 端口是否被占用
sudo netstat -nlpt | grep 80
如 80 端口被占用,可以关闭 apache 服务,也可以卸载服务
卸载 apache 相关命令
sudo apt-get --purge remove apache2
sudo apt-get --purge remove apache2.2-common
sudo apt-get autoremove
# 找到没有删除掉的配置文件,一并删除
sudo find /etc -name "*apache*" -exec rm -rf {} \;
设置 nginx 自启动
sudo systemctl start nginx
修改 nginx 配置
sudo vim /etc/nginx/sites-available/default
server {
#listen 80 default_server;
listen 80;
#listen [::]:80 default_server ipv6only=on;
root /var/www/your-project-name/public;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name lufficc.com www.lufficc.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.php?$query_string;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
}
软连接
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
重启 nginx
至此,环境搭建完毕
本作品采用《CC 协议》,转载必须注明作者和本文链接