阿里云Ubuntu下搭建LAMP或LNMP

LAMP环境搭建

阿里云配置
sudo apt-get update 更新apt-get源

1、安装Apache2 服务器

  sudo apt-get install apache2 

(安装完毕 刷新网页会显示Apache 的默认提示页面)
注意:如果没有显示页面, 一般是因为没有开通 80 端口 在阿里云实例管理中添加安全组规则

快速创建规则: 勾选需要的端口 授权对象 0.0.0.0/0

修改配置文件解析域名:

 vi /etc/apache2/sites-avilabe/000-default.conf

代码如下:

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/laravel/public
(你自己的项目入口文件地址)
ServerName www.chenmx.com
( 已经解析的域名 )
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

2、安装mysql

  sudo apt-get install mysql-server mysql-client

mysql 外部连接问题

解决步骤:

a、修改配置文件:

cd /etc/mysql/mysql.conf.d    

vi mysqld.cnf

查找到bind-address,将 bind-address=127.0.0.1 修改为 bind-address = 0.0.0.0 ,以允许任何IP来访问MySQL服务。

b、重启MySQL服务:sudo service mysql restart

c、登录MySQL数据库,给需要远程访问的用户授权:

授权所有权限:

mysql> grant all privileges on *.* to root@"%" identified by "123456" with grant option;

授权只读权限是 grant select on . to onlyRead@"%" identified by "123456" with grant option; 执行修改删除 则会提示没有权限。

d、刷新配置,使权限立即生效:

mysql> flush privileges;

这时,通过物理主机的MySQL客户端就可以正常登录了。

3、安装php

  sudo apt-get install php7.0 

出现一个问题
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package php7.0
E: Couldn't find any package by regex 'php7.0'
因为 PHP7.0 支持开始Ubuntu 15.10之后的版本,而我一开始选择的系统版本是 Ubuntu 14.04 64位 所以报错
4、目前Apache还不能解析PHP代码,PHP Apache的支持模块

   sudo apt-get install libapache2-mod-php

5、一些PHP的开发插件

  sudo apt-get install php7.0-mysql php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-zip php7.0-gd

6、安装wget 工具

sudo apt-get install -y wget

7、安装composer

建议切换到 /usr/local/bin 将composer安装到此目录

 wget https://getcomposer.org/composer.phar 

重命名文件composer.phar 为 composer

$ mv composer.phar composer

授权

 $ chmod +x composer

运行监测 输入命令

composer 

8、安装git

sudo apt-get install git  

git 更新项目文件
git reset --hard
git pull

常用目录

1、配置文件
/etc/apache2/sites-avilabe/000-default.conf apache 默认配置文件
/etc/apache2
apache2.conf 配置文件 ports.conf 监听的端口配置文件
2、项目文件
/var/www/html 默认项目文件目录 (项目记得给读写权限)

其他注意事项

【01】开启路由重写模块

Ubuntu下apache2的rewrite模块默认是不加载的。
只要运行了一下这个命令:a2enmod rewrite 就可以启用rewrite模块了。

备注:
Apaceh2 多了一组 a2enmod, a2dismod指令,用于启用和禁用Apache的模块。a2enmod用于在Apache启用指定的模块,它实际上做的是在/etc/apache2 /mods-enabled目录下创建模块文件的符号链接。相反a2dismo则是通过删除符号链接而达到禁用指定模块的功能。当然,启用已启用的模块或禁用已禁用的模块是不会报错的。^^
这里有必要说明一下:
/etc/apache2/mods-available 放apache可用的模块文件
/etc/apache2/mods-enabled 放apache已启用的模块文件的链接
弄明白了,去查看一下/etc/apache2/mods-enabled目录,果然有新增了一条rewrite.load的链接。

修改/etc/apache2/apache2.conf
把 下面注释部分改掉
/#
/# Options Indexes FollowSymLinks
/# AllowOverride None
/# Require all granted
/#


Options FollowSymLinks
AllowOverride All
Require all granted

重启apache 即可去掉index.php访问

参考文档 http://www.shxdledu.cn/post/ubantu-lamp%E7%8E%AF%E5%A2%83

LNMP环境搭建

1、Nginx安装

apt-get install nginx;

2、PHP

apt-get install php7.0;

3、Nginx解析php

PHP-FPM 与 Nginx 通信方式有两种,一种是基于TCP的 Internet domain socket 方式,一种是 UNIX domain socket 方式。

UNIX domain socket 可以使同一台操作系统上的两个或多个进程进行数据通信。UNIX domain socket 的接口和 Internet domain socket 很像,但它不使用网络底层协议来通信。服务器压力不大的情况下,这两种方式性能差别不大,但在压力比较满的时候,用UNIX domain socket方式,效果确实比较好。

UNIX domain socket 方式:

在 /etc/nginx/sites-available/default 配置文件中(网站根目录也在是这里更改), Nginx已经为与 PHP-FPM的整合准备好了,只需要将下面这部分改好就可以了。sock文件路径为 /run/php/php7.1-fpm.sock 。

location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        # With php7.0-cgi alone:
        # fastcgi_pass 127.0.0.1:9000;
        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

然后再修改 PHP-FPM的配置文件 /etc/php/7.1/fpm/pool.d,如下:; 与 Nginx监听同一个 sock

listen = /run/php/php7.1-fpm.sock

配置好后重启服务

4、安装MySQL

sudo apt-get –y install mysql-server mysql-client php7.1-mysql

参考文档 https://blog.csdn.net/STFPHP/article/details/53492723

LNMP一键安装包

1、百度云盘地址 https://pan.baidu.com/s/15ve0wG6v5m8nrrJ9UJ4Q5Q

你可能感兴趣的:(阿里云Ubuntu下搭建LAMP或LNMP)