LNMP基础架构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LNMP基础架构相关的知识,希望对你有一定的参考价值。
环境
## 1、关闭防火墙
[root@localhost ~]# systemctl disable --now firewalld
2、关闭selinux
[root@localhost ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config && reboot
#开启ip转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
#开启不允许绑定本地以为的ip
echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf
#关闭ipv6
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
#关闭ipv6网络
echo "NETWORKING_IPV6=no" >> /etc/sysconfig/network
[root@localhost ~]# yum -y install lrzsz
#设置主机名
主机名:应用+ip
例:nginx-php_41
安装nginx
[root@localhost ~]# mkdir -p /data/{tools,soft}
[root@localhost ~]# cd /data/soft/
[root@localhost soft]# ll
total 992
-rw-r--r-- 1 root root 1015384 May 2 01:32 nginx-1.14.2.tar.gz
[root@localhost soft]# tar -zxvf nginx-1.14.2.tar.gz
[root@localhost soft]# cd nginx-1.14.2
[root@localhost nginx-1.14.2]# yum install -y vim lrzsz tree screen psmisc lsof tcpdump wget ntpdate gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop bc zip unzip zlib-devel bash-completion nfs-utils automake libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed
[root@localhost nginx-1.14.2]# ./configure --prefix=/data/tools/nginx-1.14.2 --user=www --group=www --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
[root@localhost nginx-1.14.2]# make -j 2 && make install
[root@localhost nginx-1.14.2]# ln -sv /data/tools/nginx-1.14.2 /data/tools/nginx
‘/data/tools/nginx’ -> ‘/data/tools/nginx-1.14.2’
[root@localhost nginx-1.14.2]# useradd www -s /sbin/nologin -u 1000
[root@localhost ~]# cd /data/tools/nginx/conf/
准备php配置
[root@localhost conf]# cat nginx.conf
user www www;
worker_processes auto;
error_log /data/wwwlogs/error_nginx.log error;
pid /var/run/nginx.pid;
worker_rlimit_nofile 65536;
events {
worker_connections 65536;
use epoll;
accept_mutex on;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_requests 3;
keepalive_timeout 65 60;
client_max_body_size 10m;
client_body_buffer_size 16k;
client_body_temp_path /data/tools/nginx/temp;
keepalive_disable msie6;
tcp_nodelay on;
server_tokens off;
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_disable "MSIE [1-6].";
open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
proxy_cache_path /data/tools/nginx/proxycache levels=1:2:1 keys_zone=proxycache:512m inactive=120s max_size=1g;
autoindex_exact_size on;
charset utf-8;
autoindex_localtime on;
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"}‘;
server {
listen 80 default_server;
server_name _;
root /data/wwwroot/;
index index.html index.htm index.php;
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.100.0/24;
allow 127.0.0.1;
deny all;
}
location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires 30d;
access_log off;
}
location ~ .*.(js|css)?$ {
expires 7d;
access_log off;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include vhost/*.conf;
}
[root@localhost conf]# cat vhost/www.chejh.net.conf
server {
listen 80;
server_name www.chejh.net;
access_log /data/wwwlogs/www.chejh.net_nginx.log access_json;
location / {
root /data/wwwroot/www.chejh.net;
index index.html index.htm index.php;
}
location ~ .php$ {
root /data/wwwroot/www.chejh.net;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
#打开状态页(注意)
#因为http://www.chejh.net和http://192.168.100.43指向的不是一个路径所以要用ip访问
#http://192.168.100.43/nginx_status
#开启测试页
[root@localhost ~]# cat /data/wwwroot/www.chejh.net/index.html
test nginx
安装php
[root@localhost ~]# yum -y install wget vim pcre pcre-devel openssl openssl-devel libicudevel > gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype > freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 > glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel > openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison > automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel > mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl > libcurl-devel openjpegdevel
[root@localhost soft]# tar -zxvf php-7.1.30.tar.gz
[root@localhost soft]# cd php-7.1.30/
[root@localhost php-7.1.30]# ./configure --prefix=/data/tools/php-7.1.30 --enable-fpm --with-fpm user=www --with-fpm-group=www --with-pear --with-curl > --with-png-dir --with-freetype-dir --with-iconv --with-mhash --with-zlib --with-xmlrpc --with-xsl --with-openssl > --with-mysqli --with-pdo-mysql --disable-debug --enable-zip --enable-sockets --enable-soap > --enable-inline-optimization --enable-xml --enable-ftp --enable-exif --enable-wddx --enable-bcmath > --enable-calendar --enable-shmop --enable-dba --enable-sysvsem --enable-sysvshm --enable-sysvmsg
[root@localhost php-7.1.30]# make -j 2 && make install
准备php配置
[root@localhost tools]# ln -sv /data/tools/php-7.1.30/ /data/tools/php
[root@localhost php-7.1.30]# pwd
/data/soft/php-7.1.30
[root@localhost php-7.1.30]# cp php.ini-production /data/tools/php-7.1.30/etc/php.ini
[root@localhost tools]# cd /data/tools/php-7.1.30/etc/php-fpm.d
[root@localhost php-fpm.d]# pwd
/data/tools/php-7.1.30/etc/php-fpm.d
[root@localhost php-fpm.d]# cat www.conf.default |grep -v ";"|grep -v "^$" > www.conf
[root@localhost php-fpm.d]# cat www.conf
[www]
user = www
group = www
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
[root@localhost etc]# pwd
/data/tools/php-7.1.30/etc
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
**启动并验证php**
#检测语法并启动php
[root@localhost ~]# /data/tools/php/sbin/php-fpm -t
[27-May-2020 10:55:17] NOTICE: configuration file /data/tools/php-7.1.30/etc/php-fpm.conf test is successful
#验证php
[root@localhost ~]# cd /data/wwwroot/www.chejh.net/
[root@localhost ~]# /data/tools/php/sbin/php-fpm -c /data/tools/php/etc/php.ini
[root@localhost www.chejh.net]# pwd
/data/wwwroot/www.chejh.net
[root@localhost www.chejh.net]# ps -ef|grep php
root 6386 1 0 11:04 ? 00:00:00 php-fpm: master process (/data/tools/php-7.1.30/etc/php-fpm.conf)
www 6387 6386 0 11:04 ? 00:00:00 php-fpm: pool www
www 6388 6386 0 11:04 ? 00:00:00 php-fpm: pool www
root 6424 10689 0 11:06 pts/0 00:00:00 grep --color=auto php
[root@localhost www.chejh.net]# netstat -tunlpa|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 6386/php-fpm: maste
**#创建php测试页**
[root@localhost ~]# cat /data/wwwroot/www.chejh.net/index.php
<?php
phpinfo();
?>
测试:www.chejh.net
以上是关于LNMP基础架构的主要内容,如果未能解决你的问题,请参考以下文章