Linux运维:CentOS7安装LNMP(nginx1.14.2、mariadb10.3.13、php7.3.3)

1

前言

系统环境

[root@lnmp mysql]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@lnmp mysql]# uname -r
3.10.0-514.el7.x86_64

官方下载地址

安装mariadb10.3.13

1. 下载mariadb二进制包
由于源码包编译时间过长就不选用了,而选用已经编译过的二进制包

$ wget https://mirrors.shu.edu.cn/mariadb//mariadb-10.3.13/bintar-linux-x86_64/mariadb-10.3.13-linux-x86_64.tar.gz

2. 解压

$ tar -zxvf mariadb-10.3.13-linux-x86_64.tar.gz

3. 将解压后的二进制包放置软件目录
这里我习惯放置在/usr/local下,并改名mysql

$ mv mariadb-10.3.13-linux-x86_64 /usr/local/mysql

4. 创建数据存储目录与管理用户mysql

$ groupadd mysql
$ useradd -s /sbin/nologin -M mysql
$ cd /usr/local/mysql
$ chown -R mysql:mysql .

5.初始化

$ ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

这一步如果报错:

/usr/local/mariadb/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory    

解决:yum install -y libaio-devel

6.检查是否安装成功
在初始化命令之后使用$ ech $?,查看返回结果是否为0,为0表示成功,不为0表示失败。

7.拷贝启动脚本,并用chkconfig工具管理

$ cd /usr/local/mysql
$ cp support-files/mysql.server /etc/init.d/mysqld
# 定义启动脚本内容,修改datadir和basedir
$ vim /etc/init.d/mysqld
# 修改
basedir=/usr/local/mysql # 软件的目录
datadir==/usr/local/mysql/data # 存放数据目录
# 修改完,设置开机自启动
$ chkconfig --add mysqld
$ chkconfig mysqld on

8.设置mariadb配置文件/etc/my.cnf

$ vim /etc/my.cnf
# 修改配置内容为

datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mariadb.log
pid-file=/usr/local/mysql/data/mariadb.pid

保存退出。

9. 启动mariadb服务

$ /etc/init.d/mysqld start #启动mariadb

10. 查看端口进程

[root@lnmp mysql]$ netstat -lntp | grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      4225/mysqld         
[root@lnmp mysql]$ ps aux | grep mysql
root       4140  0.0  0.0 115436  1756 ?        S    13:31   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/lnmp.pid
mysql      4225  0.0  4.8 1713716 90736 ?       Sl   13:31   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/mariadb.log --pid-file=/usr/local/mysql/data/lnmp.pid --socket=/tmp/mysql.sock
root       4280  0.0  0.0 112728   964 pts/1    S+   13:43   0:00 grep --color=auto mysql
   

11. 进入mariadb数据库

    $ /usr/local/mysql/bin/mysql
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 10
    Server version: 10.3.13-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> 

12. 设置软连接

$ ln -s /usr/local/mysql/bin/mysql /usr/bin 
$ ln -s /usr/local/mysql/bin/mysqladmin /usr/bin

13. 设置root密码

$ mysqladmin -u root -p '!@#123qwe'

14. root用户登录mysql

[root@lnmp mysql]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 10.3.13-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

至此mariadb安装完毕。

安装php7.3.3

1. 下载软件包
下载地址:http://php.net/get/php-7.3.3.tar.bz2/from/a/mirror
选择中国镜像站点下载,或者复制链接地址wget下载也可以。
这里我是先下载到我的window再上传到linux。

2. 解压

$ tar -jxvf php-7.3.3.tar.bz2 
# 如果没有安装bzip2工具会报错
$ yum install -y bzip2

3. 安装依赖包

$ yum install -y gcc libxml2-devel zlib-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel  epel-release libmcrypt-devel curl-devel freetype-devel

4. 编译参数

$ ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl

5. 安装
make && make install

6. 拷贝配置文件

$ cp /usr/local/src/php-7.3.3/php.ini-development /usr/local/php-fpm/etc/php.ini
$ cp /usr/local/php-fpm/etc/php-fpm.conf.default /usr/local/php-fpm/etc/php-fpm.conf

7. 配置启动脚本设置开机启动

$ cp /usr/local/src/php-7.3.3/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
$ chmod +x php-fpm
$ chkconfig --add php-fpm
$ chkconfig php-fom on

8. 创建用户,配置pool

$ useradd php-fpm
$ cp /usr/local/php-fpm/etc/php-fpm.d/www.conf.default /usr/local/php-fpm/etc/php-fpm.d/www.conf

9.启动服务,查看进程

[root@lnmp ~]$ service php-fpm start
Starting php-fpm  done
[root@lnmp ~]$ ps aux | grep php-fpm
root      18747  0.0  0.3 115992  6284 ?        Ss   13:27   0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm   18748  0.0  0.3 115992  5836 ?        S    13:27   0:00 php-fpm: pool www
php-fpm   18749  0.0  0.3 115992  5836 ?        S    13:27   0:00 php-fpm: pool www
root      18751  0.0  0.0 112724   988 pts/0    S+   13:27   0:00 grep --color=auto php-fpm
[root@lnmp ~]$ netstat -lntp | grep php-fpm
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      18747/php-fpm: mast 

php安装完毕。

编译安装nginx1.14.2

1. 下载软件包

$ cd /usr/local/src
$ wget http://nginx.org/download/nginx-1.14.2.tar.gz

2. 解压

$  tar -zxvf nginx-1.14.2.tar.gz 

3. 编译安装

$ cd nginx-1.14.2
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
$ make && make install

4. 添加nginx启动脚本
$ vim /etc/init.d/nginx
内容如下:

#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
start() 
{
    echo -n $"Starting $prog: "
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
}
stop() 
{
    echo -n $"Stopping $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
}
reload()
{
    echo -n $"Reloading $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
}
restart()
{
    stop
    start
}
configtest()
{
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac
exit $RETVAL

5. 设置nginx开机启动

$ chmod +x /etc/init.d/nginx
$ chkconfig --add nginx
$ chkconfig nginx on

6. 启动nignx,查看进程端口

[root@lnmp nginx-1.14.2]$ /etc/init.d/nginx start
Starting nginx (via systemctl):                            [  确定  ]
[root@lnmp nginx-1.14.2]$ ps aux | grep nginx
root      21486  0.0  0.0  45948  1120 ?        Ss   13:50   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody    21487  0.0  0.1  46384  1900 ?        S    13:50   0:00 nginx: worker process
root      21489  0.0  0.0 112724   988 pts/0    S+   13:50   0:00 grep --color=auto nginx
[root@lnmp nginx-1.14.2]$ netstat -lntp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      21486/nginx: master 

至此nginx安装完毕。

你可能感兴趣的

载入中...