centos7编译安装lnmp

环境包括:nginx php mysql

yum源更新:yum -y update

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gcc gcc++ autoconf

icu libicu libicu-devel openldap openldap-develgcc-c++

nginx安装流程

下载安装包:wget https://nginx.org/download/nginx-1.16.0.tar.gz

解压:tar zxvf nginx-1.16.0.tar.gz

添加nginx组,用户:

[root@n1 nginx-1.14.2]# groupadd nginx

[root@n1 nginx-1.14.2]# useradd nginx -g nginx -s /sbin/nologin -M

对nginx进行配置: ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/config/nginx.conf --error-log-path=/usr/local/nginx/logs/error.log --pid-path=/usr/local/nginx/logs/nginx.pid --http-log-path=/usr/local/nginx/logs/access.log --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module 【https://www.cnblogs.com/flashfish/p/11025961.html(有关编译的说明)】

原文链接:https://blog.csdn.net/weixin_41114593/article/details/82285604

编译安装:make && make install

其他用法:

1.nginx -t 【检查配置文件语法是否正确】

2.nginx -v【查看nginx版本号】

安装后配置

$ vim /etc/profile.d/nginx.sh

export PATH=/usr/local/nginx/sbin:$PATH

$ source /etc/profile.d/nginx.sh

启动/停止/重载/

启动:nginx

停止:nginx -s stop

重载:nginx -s reload

php7安装流程

下载安装包:wget https://www.php.net/distributions/php-7.3.10.tar.gz

解压:tar zxvf php-7.3.10.tar.gz

创建用户和组

1.[root@cloudhost ~]# groupadd www-data

2.[root@cloudhost ~]# useradd -g www-data www-data

对php进行配置:./configure --prefix=/export/lnmp/php7 \

--with-config-file-path=/export/lnmp/php7/etc \

--with-fpm-user=www-data \

--with-fpm-group=www-data \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-iconv-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-sqlite3 \

--with-libxml-dir \

--with-ldap=shared \

--with-gdbm \

--with-pear \

--with-gettext \

--with-curl \

--with-xmlrpc \

--with-openssl \

--with-mhash \

--with-gd \

--with-pcre-regex \

--enable-fpm \

--enable-mysqlnd \

--enable-mysqlnd-compression-support \

--enable-xml \

--enable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--disable-debug \

--enable-mbregex \

--enable-mbstring \

--enable-intl \

--enable-ftp \

--enable-gd-jis-conv \

--enable-pcntl \

--enable-sockets \

--enable-zip \

--enable-soap \

--with-bz2 \

--enable-fileinfo \

--enable-opcache \

--with-iconv \

--with-cdb \

--enable-calendar \

--enable-maintainer-zts \

--enable-dom \

--enable-exif \

--enable-filter \

--with-gmp \

--enable-json \

--enable-mbregex-backtrack \

--with-onig \

--with-readline \

--enable-session \

--enable-simplexml \

--enable-sysvmsg \

--enable-sysvshm \

--enable-wddx \

--with-xsl \

--with-pear

【https://blog.csdn.net/ZHANG_TIMI/article/details/99410608】

编译安装:make && make install

配置php.ini文件

具体的路径,大家可自行修改。cd

1.cp php.ini-development /data/nmp/php/etc/php.ini

2.cp /data/nmp/php/etc/php-fpm.conf.default /data/nmp/php/etc/php-fpm.conf

3.cp /data/nmp/php/etc/php-fpm.d/www.conf.default /data/nmp/php/etc/php-fpm.d/www.conf

4.cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

配置php.ini文件

max_execution_time = 120

max_input_time = 120

memory_limit = 1024M

post_max_size = 128M

date.timezone = PRC

extension_dir = "/data/nmp/php/lib/php/extensions/no-debug-zts-20180731"

问题1:configure: error: DBA: Could not find necessary header file(s).

解决办法:yum install gdbm-devel

问题2:configure: error: Cannot find ldap libraries in /usr/lib

解决办法:cp -frp /usr/lib64/libldap* /usr/lib/

问题2:configure: error: Cannot find ldap libraries in /usr/lib

解决办法:

1.wget https://libzip.org/download/libzip-1.5.2.tar.gz【https://libzip.org/download/ 下载源码】

2.tar zxvf libzip-1.5.2.tar.gz

3.cd libzip-1.5.2

4.mkdir build && cd build && cmake .. && make && make install

问题3:CMake 3.0.2 or higher is required. You are running version 2.8.12.2

解决办法:

1.先删除原有cmake  yum remove cmake 【yum install gcc-c++】

2.wget https://github.com/Kitware/CMake/releases/download/v3.16.0-rc2/cmake-3.16.0-rc2.tar.gz【https://cmake.org/download/ 下载源码】

3.tar zxvf cmake-3.16.0-rc2.tar.gz

4.cd cmake-3.16.0-rc2

5../bootstrap && make && make install

6.ln -s /usr/local/bin/cmake /usr/bin/cmake{具体看是不是这个目录}执行目录【/usr/local/bin】

问题4:error: off_t undefined; check your library configuration

解决办法:

# 添加搜索路径到配置文件

echo '/usr/local/lib64

/usr/local/lib

/usr/lib

/usr/lib64'>>/etc/ld.so.conf

# 更新配置

ldconfig -v

一些常见的php问题解决方法 -  包含上面的问题【https://www.cnblogs.com/jkko123/p/10790427.html

mysql8安装流程

下载安装包:wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz

解压:tar zxvf php-7.3.10.tar.gz

【升级Gcc-(https://www.cnblogs.com/NanZhiHan/p/11010130.html)】

1、下载源码包

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.gz

wget http://mirrors.nju.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz

ftp://gcc.gnu.org/pub/gcc/infrastructure/

2、进入gcc目录,安装gcc依赖库

cd gcc

./contrib/download_prerequisites

执行命令后它会自动下载mpfr、gmp、mpc isl这4个库

问题1:如果执行报错:tar (child): lbzip2: no exec: no file or directory

解决方法:安装解压软件即可

yum -y install bzip2

3、在新目录中配置、编译、安装

mkdir build

cd build

../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib

make

make install

mv /usr/bin/gcc /usr/bin/gcc_old

ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g++_old

ln -s /usr/local/gcc/bin/g++ /usr/bin/g++

gcc --verson

g++ --version

https://www.jianshu.com/p/df8e82ade760--version `CXXABI_1.3.9' not found

编译程序

mkdir bld

cd bld

cmake ../ -DCMAKE_INSTALL_PREFIX=/export/lnmp/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DSYSCONFDIR=/etc \

-DWITH_EXTRA_CHARSETS=all \

-DMYSQL_DATADIR=/export/lnmp/mysql/data \

-DWITH_BOOST=/export/installp/mysql-8.0.16/boost \

-DFORCE_INSOURCE_BUILD=1 \

-DCMAKE_CXX_COMPILER=/usr/local/gcc/bin/g++ \

-DDEFAULT_CHARSET=utf8

make

make install

创建数据库用户

useradd -s /sbin/nologin mysql

创建数据存放目录并修改权限

mkdir /usr/local/mysql/data

chown -R mysql:mysql /usr/local/mysql

修改配置文件(根据自己的情况来配置)

[mysqld]

port=3306

server-id=1

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/mysql.sock

[client]

socket=/usr/local/mysql/mysql.sock

初始化数据库并安装ssl

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/database/  --log-error=/usr/local/mysql/log/mysqld.log

# /usr/local/mysql/bin/mysql_install_db    //安装命令

--initialize                                                  //生成默认密码 

--user=mysql                                            //指定mysql用户

--basedir=/usr/local/mysql/                      //安装目录

--datadir=/usr/local/mysql/database/                // 数据库目录

--log-error=/usr/local/mysql/log/mysqld.log    // 指定日志文件,安装过程中数据库生成的初

/usr/local/mysql/bin/mysql_ssl_rsa_setup


复制启动脚本、启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

/etc/init.d/mysqld  start

修改mysql密码(忘记密码)

9.1在配置文件中的[mysqld]下加入skip-grant-tables

vim /etc/my.cnf

      [mysqld]

      skip-grant-tables

9.2重启mysql

/etc/init.d/mysqld restart

9.3登录数据库后,修改密码为空。

mysql

    mysql >use mysql;

    mysql >update user set authentication_string="" where user='root';

    mysql >flush privileges;

    mysql > exit;

9.4在配置文件中删除skip-grant-tables并重启mysql

/etc/init.d/mysqld restart

9.5登录mysql,修改密码

mysql -uroot -p

    mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'tengxun@123';密码要复杂点}

    mysql>flush provoleges;

    mysql>exit;

更改加密方式和更新用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';  #更新一下用户的密码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342