资讯专栏INFORMATION COLUMN

Linux运维:CentOS7安装LNMP(nginx1.14.2、mariadb10.3.13、p

cocopeak / 1940人阅读

摘要:启动服务启动查看端口进程进入数据库设置软连接设置密码用户登录至此安装完毕。编译安装下载软件包解压编译安装添加启动脚本内容如下设置开机启动启动,查看进程端口确定至此安装完毕。

前言

系统环境

[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

官方下载地址

mariadb数据库

php

ngixn

安装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安装完毕。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40375.html

相关文章

发表评论

0条评论

cocopeak

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<