ubuntu 安装nginx+php-fpm+mysql

安装nginx

apt-get install nginx
  • 配置nginx

位置: /etc/nginx/nginx.conf  ,其中包含了

 include /etc/nginx/conf.d/*.conf;  

include /etc/nginx/sites-enabled/*; 

在这两个配置中的文件也是生效的。

错误日志  error_log /var/log/nginx/error.log; ,这个非常实用,在后面的配置完成重启后,可以通过此日志来快速排错。

这里,我们把配置文件放在  /etc/nginx/sites-enabled/default; 中。

index index.php index.html index.htm;...location ~\.php$ {
                try_files $uri = 404;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi_params;
        }

保存文件,使配置文件生效

/etc/init.d/nginx reload

nginx相关命令

service nginx start
service nginx stop
service nginx restart

在  /usr/share/nginx/html 下新建index.php

<?php
        phpinfo();

安装PHP

sudo apt-get install php5-fpm
sudo apt-get install php5-gd  # Popular image manipulation library; used extensively by Wordpress and it's plugins.
sudo apt-get install php5-cli   # Makes the php5 command available to the terminal for php5 scripting
sudo apt-get install php5-curl    # Allows curl (file downloading tool) to be called from PHP5
sudo apt-get install php5-mcrypt   # Provides encryption algorithms to PHP scripts
sudo apt-get install php5-mysql   # Allows PHP5 scripts to talk to a MySQL Database
sudo apt-get install php5-readline  # Allows PHP5 scripts to use the readline function
  • 配置php监听端口

位置: /etc/php5/fpm/pool.d/www.conf 

把 listen = /var/run/php5-fpm.sock 改为:
listen = 127.0.0.1:9000

查看php运行进程

ps -waux | grep php5

php启动相关命令

service php5-fpm stop
service php5-fpm start
service php5-fpm restart
service php5-fpm status

重启php进程,访问查看效果

curl http://localhost

若是不生效,可通过查看/var/log/nginx/error.log 日志来定位

************************扩展:*********************************************

ubuntu采用apt方式安装多个版本php-fpm

适用系统:Ubuntu 16.04 LTS / Ubuntu 14.04 LTS

安装 PHP

Ondřej Surý 的 PHP PPA 为 Ubuntu 16.04/14.04 提供了 PHP7.1、PHP7.0、PHP5.6 三个版本,未来可能会是持续更新的三个版本。

软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.1-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。

安装软件源拓展

安装软件源拓展工具:

apt -y install software-properties-common

添加 Ondřej Surý 的 PHP PPA 源,需要按一次回车:

add-apt-repository ppa:ondrej/php  

更新软件源缓存:

apt update

安装软件

安装 PHP7.1:

apt install php7.1-fpm php7.1-mysql php7.1-curl php7.1-gd php7.1-mbstring php7.1-mcrypt php7.1-xml php7.1-xmlrpc php7.1-zip php7.1-opcache -y

安装 PHP7.0:

apt install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-xmlrpc php7.0-zip php7.0-opcache -y

安装 PHP5.6:

apt install php5.6-fpm php5.6-mysql php5.6-curl php5.6-gd php5.6-mbstring php5.6-mcrypt php5.6-xml php5.6-xmlrpc php5.6-zip php5.6-opcache -y

设置 PHP

这里以 PHP7.1 为例,其他版本仅需将版本号改成自己所用的即可.

安装完成后,编辑 /etc/php/7.1/fpm/php.ini 替换换 ;cgi.fix_pathinfo=1 为 cgi.fix_pathinfo=0

快捷命令:

sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.1/fpm/php.ini 

管理 PHP

安装好了先重启一下! 更多操作:

systemctl restart php7.1-fpm #重启
systemctl start php7.1-fpm #启动
systemctl stop php7.1-fpm #关闭
systemctl status php7.1-fpm #检查状态

查看当前 PHP 版本:

root@mf88.biz-service:~# php -v
PHP 7.1.6-1~ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jun  9 2017 08:26:34) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.6-1~ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

    with Zend OPcache v7.1.6-1~ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

更新 PHP

运行下面的命令系统就会更新所有可以更新的软件包括 PHP

apt update
apt upgrade -y

安装更多组件

上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见:

root@mf88.biz-service:~# apt-cache search php7.1

libapache2-mod-php7.1 - server-side, HTML-embedded scripting language (Apache 2 module)
php-all-dev - package depending on all supported PHP development packages
php7.1 - server-side, HTML-embedded scripting language (metapackage)
php7.1-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.1-cli - command-line interpreter for the PHP scripting language
php7.1-common - documentation, examples and common module for PHP
php7.1-curl - CURL module for PHP
php7.1-dev - Files for php7.1 module development
php7.1-gd - GD module for PHP
php7.1-gmp - GMP module for PHP
php7.1-json - JSON module for PHP
php7.1-ldap - LDAP module for PHP
php7.1-mysql - MySQL module for PHP
php7.1-odbc - ODBC module for PHP
php7.1-opcache - Zend OpCache module for PHP
php7.1-pgsql - PostgreSQL module for PHP
php7.1-pspell - pspell module for PHP
php7.1-readline - readline module for PHP
php7.1-recode - recode module for PHP
php7.1-snmp - SNMP module for PHP
php7.1-sqlite3 - SQLite3 module for PHP
php7.1-tidy - tidy module for PHP
php7.1-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.1-xmlrpc - XMLRPC-EPI module for PHP
libphp7.1-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.1-bcmath - Bcmath module for PHP
php7.1-bz2 - bzip2 module for PHP
php7.1-enchant - Enchant module for PHP
php7.1-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.1-imap - IMAP module for PHP
php7.1-interbase - Interbase module for PHP
php7.1-intl - Internationalisation module for PHP
php7.1-mbstring - MBSTRING module for PHP
php7.1-mcrypt - libmcrypt module for PHP
php7.1-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.1-soap - SOAP module for PHP
php7.1-sybase - Sybase module for PHP
php7.1-xsl - XSL module for PHP (dummy)
php7.1-zip - Zip module for PHP
php7.1-dba - DBA module for PHP

4、安装 MySQL 5

apt-get install mysql-server mysql-client

 

这里写图片描述

2.配置MySQL

2.1 初始化配置

sudo mysql_secure_installation
  • 1

配置项较多,如下所示:

#1
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (我的选项)

#2
Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入)

#3
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (我的选项)

#4
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y (我的选项)

#5
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (我的选项)

#6
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (我的选项)

2.2 检查mysql服务状态

systemctl status mysql.service
  •  

显示如下结果说明mysql服务是正常的:
这里写图片描述

3.配置远程访问

在Ubuntu下MySQL缺省是只允许本地访问的,使用workbench连接工具是连不上的;
如果你要其他机器也能够访问的话,需要进行配置;

3.1 首先用根用户进入

sudo mysql -uroot -p
  • 登入root进行其他设置:

这里写图片描述

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
  • 这里写图片描述

其中root@localhoslocalhost就是本地访问,配置成%就是所有主机都可连接;

第二个'123456'为你给新增权限用户设置的密码,%代表所有主机,也可以是具体的ip;
不过这随设置了%但我root通过工具还是登陆不进去,可能是为了安全性,所以新建数据库和用户;

3.2 新建数据库和用户

用root用户新建数据和用作远程访问的用户

##1 创建数据库weixx
CREATE DATABASE weixx;
##2 创建用户wxx(密码654321) 并允许wxx用户可以从任意机器上登入mysql的weixx数据库
GRANT ALL PRIVILEGES ON weixx.* TO wxx@"%" IDENTIFIED BY "654321"; 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值