Linux命令:nginx及php和mysql安装使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令:nginx及php和mysql安装使用相关的知识,希望对你有一定的参考价值。
首先下载mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
lftp [email protected]:/> get mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
314592758 bytes transferred in 28 seconds (10.66M/s)
lftp [email protected]:/> quit
[[email protected] ~]# ls
anaconda-ks.cfg Downloads Music Pictures Videos install.log mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz nginx-1.4.1 Templates
[[email protected] ~]# du -lh mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
301Mmysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
[[email protected] ~]# tar xf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz -C /usr/local
#解压缩,-C指定解压缩目录
[[email protected] ~]# ls /usr/local/
bin games lib mysql-5.6.30-linux-glibc2.5-x86_64 share
etc include lib64 lost+found sbin
[[email protected] ~]# mkdir /mydata/data -pv #-pv递归创建/mydata/data目录
mkdir: created directory `/mydata‘
mkdir: created directory `/mydata/data‘
[[email protected] ~]# useradd -r mysql #新增mysql用户,-r指定创建的为系统用户,不作为登录用户
[[email protected] ~]# chown -R mysql.mysql /mydata/data #更改属主和属组 -R指目录下的所有子文件
都一同更改属主和属组。
[[email protected] ~]# cd /usr/local
[[email protected] local]# ln -sv mysql-5.6.30-linux-glibc2.5-x86_64 mysql #创建软链接
`mysql‘ -> `mysql-5.6.30-linux-glibc2.5-x86_64‘
[[email protected] local]# cd mysql
[[email protected] mysql]# ll
total 68
drwxr-xr-x. 2 root root 4096 Apr 16 15:23 bin
-rw-r--r--. 1 7161 wheel 17987 Mar 3 2016 COPYING
drwxr-xr-x. 3 root root 4096 Apr 16 15:24 data
drwxr-xr-x. 2 root root 4096 Apr 16 15:24 docs
drwxr-xr-x. 3 root root 4096 Apr 16 15:23 include
drwxr-xr-x. 3 root root 4096 Apr 16 15:24 lib
drwxr-xr-x. 4 root root 4096 Apr 16 15:24 man
drwxr-xr-x. 10 root root 4096 Apr 16 15:24 mysql-test
-rw-r--r--. 1 7161 wheel 2496 Mar 3 2016 README
drwxr-xr-x. 2 root root 4096 Apr 16 15:24 scripts
drwxr-xr-x. 28 root root 4096 Apr 16 15:24 share
drwxr-xr-x. 4 root root 4096 Apr 16 15:24 sql-bench
drwxr-xr-x. 2 root root 4096 Apr 16 15:24 support-files
[[email protected] mysql]# chown -R root.mysql ./* #-R递归更改属主和属组
[[email protected] mysql]# ll
total 68
drwxr-xr-x. 2 root mysql 4096 Apr 16 15:23 bin
-rw-r--r--. 1 root mysql 17987 Mar 3 2016 COPYING
drwxr-xr-x. 3 root mysql 4096 Apr 16 15:24 data
drwxr-xr-x. 2 root mysql 4096 Apr 16 15:24 docs
drwxr-xr-x. 3 root mysql 4096 Apr 16 15:23 include
drwxr-xr-x. 3 root mysql 4096 Apr 16 15:24 lib
drwxr-xr-x. 4 root mysql 4096 Apr 16 15:24 man
drwxr-xr-x. 10 root mysql 4096 Apr 16 15:24 mysql-test
-rw-r--r--. 1 root mysql 2496 Mar 3 2016 README
drwxr-xr-x. 2 root mysql 4096 Apr 16 15:24 scripts
drwxr-xr-x. 28 root mysql 4096 Apr 16 15:24 share
drwxr-xr-x. 4 root mysql 4096 Apr 16 15:24 sql-bench
drwxr-xr-x. 2 root mysql 4096 Apr 16 15:24 support-files
[[email protected] mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
#初始化数据库,指定数据库用户--user=mysql,指定数据目录--datadir=/mydata/data
Installing MySQL system tables...2017-04-16 16:01:37 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-04-16 16:01:37 0 [Note] ./bin/mysqld (mysqld 5.6.30) starting as process 11891 ...
2017-04-16 16:01:37 11891 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-04-16 16:01:37 11891 [Note] InnoDB: The InnoDB memory heap is disabled
2017-04-16 16:01:37 11891 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
....................................
Filling help tables...2017-04-16 16:01:42 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-04-16 16:01:42 0 [Note] ./bin/mysqld (mysqld 5.6.30) starting as process 11913 ...
2017-04-16 16:01:42 11913 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-04-16 16:01:42 11913 [Note] InnoDB: The InnoDB memory heap is disabled
2017-04-16 16:01:42 11913 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-04-16 16:01:42 11913 [Note] InnoDB: Memory barrier is not used
2017-04-16 16:01:42 11913 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-04-16 16:01:42 11913 [Note] InnoDB: Using Linux native AIO
..........................................
WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
--defaults-file argument to mysqld_safe when starting the server #初始化完成
[[email protected] mysql]# vim my.cnf #编辑配置文件,在文档最后增加如下红色框内容
[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld
复制mysqld启动脚本至/etc/init.d路径中
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig --list mysqld
mysqld 0:off1:off2:off3:off4:off5:off6:off
[[email protected] mysql]# chkconfig mysqld on
[[email protected] mysql]# chkconfig --list mysqld
mysqld 0:off1:off2:on3:on4:on5:on6:off
[[email protected] mysql]# service mysqld start #启用mysqld服务
Starting MySQL.... [ OK ]
[[email protected] mysql]# netstat -tlnp #查看监听的端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1369/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7277/nginx.conf
tcp 0 0 0.0.0.0:59282 0.0.0.0:* LISTEN 1436/rpc.statd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1659/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1532/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1735/master
tcp 0 0 :::3306 :::* LISTEN 12224/mysqld
tcp 0 0 :::111 :::* LISTEN 1369/rpcbind
tcp 0 0 :::22 :::* LISTEN 1659/sshd
tcp 0 0 ::1:631 :::* LISTEN 1532/cupsd
tcp 0 0 :::35043 :::* LISTEN 1436/rpc.statd
[[email protected] mysql]# /usr/local/mysql/bin/mysql #启动mysql客户端
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2) #提示mysql.sock出错,解决方法如下图,在配置文档中定义sock文件路径
[[email protected] mysql]# pwd
/usr/local/mysql
[[email protected] mysql]# vim my.cnf
[[email protected] mysql]# service mysqld restart
Shutting down MySQL.. [ OK ]
Starting MySQL. [ OK ]
[[email protected] mysql]# /usr/local/mysql/bin/mysql #再次启动mysql客户端,正常开启。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.30-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql>
mysql> \q
[[email protected] ~]# vim /etc/ld.so.conf.d/mysql.conf #新建mysql库路径文件,使得系统能够识别到
/usr/local/mysql/lib #新增该行内容
[[email protected] ~]# ldconfig -v #通知系统重新读取库文件,-v显示重读过程
............
libxklavier.so.15 -> libxklavier.so.15.0.0
liblcms.so.1 -> liblcms.so.1.0.19
/lib64/tls: (hwcap: 0x8000000000000000)
/usr/lib64/sse2: (hwcap: 0x0000000004000000)
/usr/lib64/tls: (hwcap: 0x8000000000000000)
[[email protected] ~]# ln -sv /usr/local/mysql/include /usr/include/mysql #创建mysql的头文件目录链接,
使得可以直接输出头文件
"/usr/include/mysql" -> "/usr/local/mysql/include"
[[email protected] ~]# ls /usr/include/mysql/
decimal.h my_attribute.h my_global.h mysqld_ername.h my_sys.h
my_alloc.h my_getopt.h mysql_com.h mysql_version.h sql_common.h
------------------------------------------------------------------------------
至此MySQL已经安装配置完成。
首先下载安装php-5.4.13
[[email protected] mysql]# lftp [email protected]
Password:
lftp [email protected]:/> get php-5.4.13.tar.bz2
11545777 bytes transferred
lftp [email protected]:/> quit
[[email protected] ~]# ls
anaconda-ks.cfg install.log nginx-1.4.1 Templates
Desktop install.log.syslog php-5.4.13.tar.bz2 Videos
[[email protected] ~]# tar xf php-5.4.13.tar.bz2
[[email protected] ~]# cd php-5.4.13
[[email protected] php-5.4.13]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl
#编译php,指定php安装目录--prefix=/usr/local/php 关联mysql安装的目录--with-mysql=/usr/local/mysql等支持各种功能。
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for cc... cc
.......................
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating main/php_config.h
config.status: executing default commands
[[email protected] php-5.4.13]# make && make install #编译安装
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/php/man/man1/
Installing PHP FPM binary: /usr/local/php/sbin/
Installing PHP FPM config: /usr/local/php/etc/
Installing PHP FPM man page: /usr/local/php/php/man/man8/
Installing PHP FPM status page: /usr/local/php/php/fpm/
Installing PHP CGI binary: /usr/local/php/bin/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.3.7
[PEAR] Console_Getopt - installed: 1.3.0
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.1
[PEAR] PEAR - installed: 1.9.4
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/root/php-5.4.13/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/
[[email protected] php-5.4.13]# cp php.ini-production /etc/php.ini #为php提供配置文件
[[email protected] php-5.4.13]# cd /usr/local/php/etc/
[[email protected] etc]# ls
pear.conf php-fpm.conf.default
[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf #为php-fpm提供配置文件
[[email protected] etc]# vim php-fpm.conf #编辑配置文件,修改内容如图:
[[email protected] etc]# cd - #进入上一次所在目录
/root/php-5.4.13
[[email protected] php-5.4.13]# pwd
/root/php-5.4.13
[[email protected] php-5.4.13]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #复制启动脚本
至/etc/init.d路径下
[[email protected] php-5.4.13]# chmod +x /etc/init.d/php-fpm #给执行权限
[[email protected] php-5.4.13]# chkconfig --add php-fpm #把服务添加至开机启动列表
[[email protected] php-5.4.13]# chkconfig --list php-fpm #查看php-fpm服务是否开机自动启动
php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[[email protected] php-5.4.13]# service php-fpm start #启动php-fpm服务
Starting php-fpm done
[[email protected] php-5.4.13]# netstat -tlnp #查看监听端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 23060/php-fpm.conf)
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1369/rpcbind tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7277/nginx.conf
tcp 0 0 0.0.0.0:59282 0.0.0.0:* LISTEN 1436/rpc.statd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1659/sshd
tcp 0 0 :::3306 :::* LISTEN 13345/mysqld
tcp 0 0 :::22 :::* LISTEN 1659/sshd
[[email protected] php-5.4.13]# cd /etc/nginx
[[email protected] nginx]# ls
fastcgi.conf koi-utf nginx.conf uwsgi_params
fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default
fastcgi_params mime.types scgi_params win-utf
fastcgi_params.default mime.types.default scgi_params.default
[[email protected] nginx]# ps aux #查看系统进程,php-fpm是否一启动就开启了8个子进程
(php-fpm配置文档中设置一启动php-fpm进程就启动8个子进程)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
postfix 23030 0.0 0.1 62052 2680 ? S 08:36 0:00 pickup -l -t fifo -u
root 23060 0.0 0.2 107460 4564 ? Ss 08:45 0:00 php-fpm: master process (/usr/local/php/e
nobody 23061 0.0 0.1 107460 3728 ? S 08:45 0:00 php-fpm: pool www
nobody 23062 0.0 0.1 107460 3728 ? S 08:45 0:00 php-fpm: pool www
nobody 23063 0.0 0.1 107460 3728 ? S 08:45 0:00 php-fpm: pool www
nobody 23064 0.0 0.1 107460 3728 ? S 08:45 0:00 php-fpm: pool www
nobody 23065 0.0 0.1 107460 3728 ? S 08:45 0:00 php-fpm: pool www
nobody 23066 0.0 0.1 107460 3728 ? S 08:45 0:00 php-fpm: pool www
nobody 23067 0.0 0.1 107460 3728 ? S 08:45 0:00 php-fpm: pool www
nobody 23068 0.0 0.1 107460 3728 ? S 08:45 0:00 php-fpm: pool www
[[email protected] nginx]# vim nginx.conf #编辑nginx配置文件,启用php功能,如下图:
[[email protected] nginx]# vim fastcgi_params #编辑fastcgi配置文档,删除该文档之前的内容
新增以下内容,保存并退出:
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
[[email protected] nginx]# nginx -t #检测nginx配置文档是否有语法错误
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[[email protected] nginx]# service nginx reload #重新加载nginx服务
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Reloading nginx: [ OK ]
[[email protected] nginx]# cd /usr/html
[[email protected] html]# ls
50x.html index.html
[[email protected] html]# mv index.html index.back #修改默认网页文件名称
[[email protected] html]# vim index.php #新建.php网页文件,内容如下:
<?php
phpinfo();
?>
[[email protected] html]# vim /etc/nginx/nginx.conf #把index.php默认主页的格式加入到配置文档
在浏览器中输入IP访问测试如下:
必须给nginx安装xcache缓存加速
mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz下载地址:https://pan.baidu.com/s/1skJOITZ
php-5.4.13.tar.bz2下载地址:http://us3.php.net/distributions/php-5.4.13.tar.bz2
本文出自 “学linux历程” 博客,请务必保留此出处http://woyaoxuelinux.blog.51cto.com/5663865/1955685
以上是关于Linux命令:nginx及php和mysql安装使用的主要内容,如果未能解决你的问题,请参考以下文章
centos7安装Lnmp(Linux+Nginx+MySql+Php+phpMyAdmin+Apache)