本案例版本说明
基础服务
- Ubuntu 14.04
- Nginx 1.11.1
- PHP 7.0.8-2+deb.sury.org~trusty+1
- Mariadb 10.0.26-MariaDB-1~trusty
相关工具
- Git 2.9.0
- Composer 1.1.3
更新 Ubuntu 为最新版
-
更新软件包
$ sudo apt-get update && sudo apt-get dist-upgrade
-
重启系统
$ sudo init 6
-
安装更新管理器核心
$ sudo apt-get install update-manager-core
-
启动升级进程
$ sudo do-release-upgrade -d
-
更新完成重启
$ sudo init 6
此过程时间较长,因此建议
- 直接安装最新版的 Ubuntu 14.04 系统
- 或者修改 Ubuntu 软件包为国内镜像后更新系统
编辑/etc/update-manager/release-upgrades配置文件,设置Prompt=lts
基础服务安装
安装 Nginx
一般安装
-
更新 Ubuntu 软件库
$ sudo apt-get update
- 安装 Nginx
$ sudo apt-get install nginx
一般安装 ubuntu 14.04 默认安装 Nginx 的版本 1.4.6
新版安装
-
下载 nginx_signing.key
$ sudo wget http://nginx.org/keys/nginx_signing.key
-
添加 key
$ sudo apt-key add nginx_signing.key
-
添加 Nginx 来源
$ sudo vi /etc/apt/sources.list
-
在 sources.list 添加两行
deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx
trusty 是 Ubuntu 版本名称
-
运行下面命令
$ sudo apt-get remove nginx-common $ sudo apt-get update $ sudo apt-get install nginx
-
运行 Nginx 开源
$ sudo nginx
-
验证 Nginx 开源是启动并运行
$ curl -I 127.0.0.1 HTTP/1.1 200 OK Server: nginx/1.11.1 Date: Tue, 28 Jun 2016 20:32:10 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 31 May 2016 14:40:35 GMT Connection: keep-alive ETag: "574da263-264" Accept-Ranges: bytes
干净的 ubuntu 需要安装 curl ,才能执行上面命令
$ sudo apt-get install curl
配置 Nginx
-
在 /etc/nginx/nginx.conf 文件中的第一行查看你的 Nginx 用户。
$ less /etc/nginx/nginx.conf
-
修改用户和组
PHP7 默认的用户和组是 www-data 。
如果你的 Nginx 用户名也是 www-data,那么不需要做下面的修改。
如果你的 Nginx 用户名是 nginx,那么你可以在 /etc/nginx/
nginx.conf 文件中将它修改成 www-data 。$ sudo vi /etc/nginx/nginx.conf
-
重启 Nginx 服务
$ sudo service nginx reload
安装 PHP7
升级安装
如果系统之前有 PHP 其他版本请先删除
sudo apt-get purge php5-fpm php5-mysql php5-common
sudo apt-get --purge autoremove
全新安装
本文通过 Ubuntu PPA 来安装 PHP7
-
添加 PPA
$ sudo apt-get install python-software-properties software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt-get update
-
安装PHP7以及所需的一些扩展
$ sudo apt-get install php7.0-fpm php7.0-gd php7.0-mysql php7.0-common php7.0-curl php7.0-cli php7.0-mcrypt php7.0-mbstring php7.0-dom php7.0-dev
-
配置 PHP7
打开php.ini配置文件:
$ sudo vim /etc/php/7.0/fpm/php.ini
找到 cgi.fix_pathinfo 选项,去掉注释;,然后将值设置为0:
cgi.fix_pathinfo=0
启用php7.0-mcrypt
$ sudo phpenmod mcrypt
启动后重启 php7.0-fpm ,输入:
$ sudo service php7.0-fpm restart
MariaDB 安装
$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
$ sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu trusty main'
$ sudo apt-get update
$ sudo apt-get install mariadb-server //安装过程中会提示输入 Mariadb root 用户管理密码
$ mysql_secure_installation //Mariadb 相关安全配置
其他相关安装
Git 安装
本文通过 Ubuntu PPA 来安装最新版 Git
-
添加 Git 源
$ sudo add-apt-repository ppa:git-core/ppa
-
更新软件列表
$ sudo apt-get update
-
安装 Git
$ sudo apt-get install git
-
配置 Git 用户名和邮箱
$ git config --global user.name "gaopeng" $ git config --global user.email "gaopeng@lekee.cc
gaopeng 和 gaopeng@lekee.cc 替换成服务器管理者自己的 Git 信息
Composer 安装
下载 Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
配置 Composer
-
查看环境变量
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/ bin:/sbin:/bin:/usr/games:/usr/local/games
-
移动 composer.phar 到全局目录 /usr/local/bin/ ,并重命名为 composer
$ sudo mv composer.phar /usr/local/bin/composer
-
Composer 安装全局范围使用
$ vi ~/.profile PATH="$HOME/bin:$PATH"` 下面加入一行 PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/.composer/vendor/bin
Drush 安装
官网安装
$ php -r "readfile('http://files.drush.org/drush.phar');" > drush
$ php drush core-status
$ chmod +x drush
$ sudo mv drush /usr/local/bin
$ drush init
相关常用命令
开启服务
-
启动 Nginx
$ sudo service nginx start
-
启动 PHP
$ sudo service php7.0-fpm start
-
启动 Mariadb
$ sudo service mysql start
重启服务
-
重启 Nginx
$ sudo service nginx restart
-
重启 PHP
$ sudo service php7.0-fpm restart
-
重启 Mariadb
$ sudo service mysql restart
停止服务
-
停止 Nginx
$ sudo service nginx stop
-
停止 PHP
$ sudo service php7.0-fpm stop
-
停止 Mariadb
$ sudo service mysql stop
设置开机自启项
-
php 开机自启
$ sudo sysv-rc-conf php7.0-fpm on
-
Nginx 开机自启
$ sudo sysv-rc-conf nginx on
-
Mariadb 开机自启
$ sudo sysv-rc-conf mysql on
使用 sysv-rc-conf 命令前先安装
Ubuntu 14.04 没有安装 sysv-rc-conf$ sudo apt-get install sysv-rc-conf
常见问题
-
php 不显示
修改 Nginx 网站配置文件
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
改为:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
-
sudo: unable to resolve host aliyun-trusty
几次都碰到这个问题,应该是修改完 hostname 后出现的问题, 修改服务器 hosts 文件就 OK 了
$ sudo vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 localhost.localdomain localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 10.165.50.135 aliyun-trusty // 这个 IP 地址后面改成服务器主机名