lnmp编译安装

一、环境准备

centos7.4 nginx1.14.2  php7.1.8 mariadb-10.2.25官网自己下载,准备好yum源,epel源

二、Nginx 编译安装

1.基础环境

yum install -y gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zip unzip zlib-devel bash-completion automake libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed

2.安装nginx

tar -xf nginx-1.14.2.tar.gz

cd nginx-1.14.2

./configure --prefix=/apps/nginx --user=nginx  --group=nginx --with-http_ssl_module  --with-http_v2_module --with-http_realip_module  --with-http_stub_status_module  --with-http_gzip_static_module  --with-pcre --with-stream  --with-stream_ssl_module --with-stream_realip_module

make&&make install 

useradd nginx -s /sbin/nologin 

chown nginx.nginx -R /apps/nginx/

用nginx命令启动nginx,/app/nginx/sbin/nginx

或者用nginx启动脚本启动,访问本机ip

nginx默认页截图

3.虚拟主机

3.1 https访问

cd /apps/nginx/

cd certs/

 openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 3650 -out ca.crt #自签名CA证书

 req -newkey rsa:4096 -nodes -sha256 -keyout www.zy.com.key -out www.zy.com.csr

openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.zy.com.key -out www.zy.com.csr

#生成kry和csr

 openssl x509 -req -days 3650 -in www.zy.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.zy.com.crt

#签发证书

vi /apps/nginx/conf/conf.d/zy.conf  #配置虚拟主机

server{

  listen 80;

  listen 443 ssl;

  server_name www.zy.com;

  ssl_certificate /apps/nginx/certs/www.zy.com.crt;   

  ssl_certificate_key /apps/nginx/certs/www.zy.com.key;   

  ssl_session_cache shared:sslcache:20m;

  ssl_session_timeout 10m;

  access_log /data/nginx/logs/www.zy.access.log access_json;

  location / {

  root /data/nginx/zy;

  index index.html;

}

  error_page 500 502 503 504 404 /error.html;

  location = /error.html {

  root /data/nginx/html/zy;

  }

}


https访问截图

3.2 json日志格式

vi /apps/nginx/conf/nginx.conf  #自定义日志为json格式,为了今后方便日志处理

log_format access_json '{"@timestamp":"$time_iso8601",'

'"host":"$server_addr",'

'"clientip":"$remote_addr",'

'"size":$body_bytes_sent,'

'"responsetime":$request_time,'

'"upstreamtime":"$upstream_response_time",'

'"upstreamhost":"$upstream_addr",'

'"http_host":"$host",'

'"uri":"$uri",'

'"domain":"$host",'

'"xff":"$http_x_forwarded_for",'

'"referer":"$http_referer",'

'"tcp_xff":"$proxy_protocol_addr",'

'"http_user_agent":"$http_user_agent",'

'"status":"$status"}';

4.测试

mkdir -p /data/nginx/zy

mkdir  -p root /data/nginx/html/zy

echo "zy page" >> /data/nginx/zy/index.html

echo " zy error page" >>  /data/nginx/html/zy/error.html

修改测试客户端主机hosts表 www.zy.com 192.168.25.129,测试效果如图


错误页测试截图
日志截图

三 mysql编译安装

注意mysql编译安装时间长

1.基础环境

yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-

devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-

devel libevent-devel libaio-devel

做准备用户和数据目录

useradd –r –s /sbin/nologin –d /data/mysql/ mysql

mkdir /data/mysql

chown mysql.mysql /data/mysql

2.编译安装

tar xvf mariadb-10.2.15.tar.gz

cd mariadb-10.2.15/

cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql -DMYSQL_DATADIR=/data/mysql/ -DSYSCONFDIR=/etc/ -DMYSQL_USER=mysql DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_MROONGA_STORAGE_ENGINE=1 -DWITH_DEBUG=0 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

make && make install

3.配置文件和启动脚本

生成数据库文件

cd /app/mysql/

scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql

准备配置文件

vi /etc/my.cnf

[mysqld]

    character-set-server=utf8mb4

    collation-server=utf8mb4_general_ci

    basedir=/app/mysql/

    datadir=/data/mysql/

    socket=/var/lib/mysql/mysql.sock

    skip_name_resolve = on

[client]

    socket=/var/lib/mysql/mysql.sock

[mysqld_safe]

    log-error=/var/log/mariadb/mariadb.log

    pid-file=/var/run/mariadb/mariadb.pid

准备启动脚本

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

启动服务

chkconfig --add mysqld ;service mysqld start

登陆mysql

php编译安装

php编译安装时间很长

1.基础环境

yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libzip libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof wget python-devel cmake libxslt-devel libgcrypt-devel readline-devel libgpg-error-devel libmcrypt libmcrypt-devel mcrypt

2.编译安装

tar -zxvf php-7.1.18.tar.gz

cd php-7.1.18

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc/ --enable-fpm --with-fpm-user=www  --with-fpm-group=www --enable-inline-optimization --disable-debug --disable-rpath --enable-shared  --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir  --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets  --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache

cp php.ini-production /usr/local/php/etc/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

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

3.配置文件启动脚本

vim /usr/local/php/etc/php-fpm.d/www.conf

[www]

user = nginx #php-fpm启动的用户和组,会涉及到后期文件的权限问题 ,主要改两项

group = nginx#

4.测试nginx支持php,php连接mysql

4.1 显示php信息页

mkdir -p /data/nginx/php

cat /data/nginx/php/index.php #php测试页面

<?php

phpinfo();

?>

vi /apps/nginx/conf/conf.d/zy.conf 

location ~ \.php$ {

      root /data/nginx/php;

      fastcgi_pass 127.0.0.1:9000;# 如果php不在本机要改地址

      fastcgi_index index.php;

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

      include fastcgi_params;

      }


phpinfo

4.2.创建PHP页面,测试LNMP架构能否解析PHP页面,mysql连接

cat /data/nginx/php/mysql.php

<?php

$links=mysqli_connect("127.0.0.1","root","");        //root为mysql账户名称,密码需要修改为实际mysql密码,无密码则留空即可

if($links){

echo "link db ok!!!";

}

else{

echo "link db no!!!";

}

?>

打开php.ini修改mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket 的值为/var/lib/mysql/mysql.sock

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

推荐阅读更多精彩内容