> 文档中心 > LNMP架构源码编译安装实操

LNMP架构源码编译安装实操

目录

一、安装 Nginx 服务

​ 1.1 安装依赖包 

 1.2 创建运行用户

 1.3 编译安装

 1.4 优化路径

 1.5 添加 Nginx 系统服务

 二、安装 MySQL 服务

2.1 安装Mysql环境依赖包

 2.2 创建运行用户

 2.3 编译安装

 2.4 修改mysql 配置文件

2.5 更改mysql安装目录和配置文件的属主属组

2.6 设置路径环境变量

2.7 初始化数据库

2.8 添加mysqld系统服务

2.9 修改mysql 的登录密码

2.10 授权远程登录

三、安装配置 PHP 解析环境

3.1 安装环境依赖包

3.2 编译安装

3.3 路径优化

3.4 调整PHP配置文件

3.5 启动php-fpm

3.6 配置 Nginx 支持 PHP 解析

3.7 验证PHP 测试页

3.8 验证数据库工作是否正常

 四、部署 Discuz  社区论坛 Web 应用

五、fpm参数优化

总结


一、安装 Nginx 服务

systemctl stop firewalldsystemctl disable firewalldsetenforce 0


1.1 安装依赖包 

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

 

 1.2 创建运行用户

useradd -M -s /sbin/nologin nginx

 

 1.3 编译安装

cd /opttar zxvf nginx-1.12.0.tar.gz -C /opt/cd nginx-1.12.0/./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-http_stub_status_modulemake -j 4&& make install#-j4代表四核,根据自己的虚机选择相应的核数,加快编译速度

 

 

1.4 优化路径

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

 

 1.5 添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service[Unit]Description=nginxAfter=network.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.targetchmod 754 /lib/systemd/system/nginx.servicesystemctl start nginx.servicesystemctl enable nginx.service

 

 二、安装 MySQL 服务

2.1 安装Mysql环境依赖包

yum -y install \ncurses \ncurses-devel \bison \cmake

 

 2.2 创建运行用户

useradd -M -s /sbin/nologin  mysql

 

 2.3 编译安装

cd /opttar zxvf mysql-boost-5.7.20.tar.gzcd /opt/mysql-5.7.20/cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DSYSCONFDIR=/etc \-DSYSTEMD_PID_DIR=/usr/local/mysql \-DDEFAULT_CHARSET=utf8  \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=all \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_BOOST=boost \-DWITH_SYSTEMD=1 \-DWITH_EMBEDDED_SERVER=OFFmake -j 4 && make install

 

 

 2.4 修改mysql 配置文件

vim /etc/my.cnf[client]port = 3306socket=/usr/local/mysql/mysql.sock[mysqld]user = mysqlbasedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport = 3306character-set-server=utf8pid-file = /usr/local/mysql/mysqld.pidsocket=/usr/local/mysql/mysql.sockbind-address = 0.0.0.0skip-name-resolvemax_connections=2048default-storage-engine=INNODBmax_allowed_packet=16Mserver-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

 

2.5 更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/chown mysql:mysql /etc/my.cnf

 

2.6 设置路径环境变量

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile    source /etc/profile

 

2.7 初始化数据库

cd /usr/local/mysql/bin/./mysqld \--initialize-insecure \--user=mysql \--basedir=/usr/local/mysql \--datadir=/usr/local/mysql/data

2.8 添加mysqld系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/systemctl daemon-reloadsystemctl start mysqld.servicesystemctl enable mysqld

2.9 修改mysql 的登录密码

mysqladmin -u root -p password "000000"

2.10 授权远程登录

mysql -u root -p

 能够登录说明安装成功了

三、安装配置 PHP 解析环境

3.1 安装环境依赖包

yum -y install gd \libjpeg libjpeg-devel \libpng libpng-devel \freetype freetype-devel \libxml2 libxml2-devel \zlib zlib-devel \curl curl-devel \openssl openssl-devel

3.2 编译安装

cd /opttar jxvf php-7.1.10.tar.bz2cd php-7.1.10./configure \--prefix=/usr/local/php \--with-mysql-sock=/usr/local/mysql/mysql.sock \--with-mysqli \--with-zlib \--with-curl \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-openssl \--enable-fpm \--enable-mbstring \--enable-xml \--enable-session \--enable-ftp \--enable-pdo \--enable-tokenizer \--enable-zipmake -j4 && make install

 

3.3 路径优化

ln -s /usr/local/php/bin/* /usr/local/bin/ln -s /usr/local/php/sbin/* /usr/local/sbin/

3.4 调整PHP配置文件

php有三个配置文件: 
php.ini            主配置文件  
php-fpm.conf    进程服务配置文件 
www.conf        扩展配置文件

#调整主配置文件:cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini    vim /usr/local/php/lib/php.ini--1170行--修改mysqli.default_socket = /usr/local/mysql/mysql.sock--939行--取消注释,修改date.timezone = Asia/Shanghaiphp -m                     #验证安装的模块#调整进程服务配置文件:cd /usr/local/php/etc/cp  php-fpm.conf.default php-fpm.confvim php-fpm.conf--17行--去掉";"注释pid = run/php-fpm.pid#调整扩展配置文件:cd /usr/local/php/etc/php-fpm.d/cp www.conf.default www.conf

 

 

 

 

3.5 启动php-fpm

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ininetstat -anpt | grep 9000#PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。cd /opt/php-7.1.10/sapi/fpmcp php-fpm.service /usr/lib/systemd/system/php-fpm.servicesystemctl restart php-fpm.service

 

3.6 配置 Nginx 支持 PHP 解析

vim /usr/local/nginx/conf/nginx.conf--65行--取消注释,修改location ~ \.php$ {    root           html;    fastcgi_pass   127.0.0.1:9000;    fastcgi_index  index.php;    fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;    #将 /scripts 修改为nginx的工作目录   #fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  #$document_root 代表当前请求在root指令中指定的值    include        fastcgi_params;}systemctl restart nginx.service

 

3.7 验证PHP 测试页

vim /usr/local/nginx/html/index.php浏览器访问http://192.168.109.132/index.php

 

3.8 验证数据库工作是否正常

mysql -u root -pCREATE DATABASE bbs;GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';flush privileges;vim /usr/local/nginx/html/index.php              #替换原来的测试页内容<?php$link=mysqli_connect('192.168.80.10','bbsuser','admin123');if($link) echo "

Success!!

";else echo "Fail!!";?>浏览器访问http://192.168.80.10/index.php

 

 四、部署 Discuz  社区论坛 Web 应用

cd /optunzip Discuz_X3.4_SC_UTF8.zip  -d /opt/discd /opt/dis/dir_SC_UTF8/cp -r upload/ /usr/local/nginx/html/bbs/调整论坛目录的权限:cd /usr/local/nginx/html/bbs/chown -R nginx ./config/chown -R nginx ./data/chown -R nginx ./uc_client/chown -R nginx ./uc_server/或chmod -R 777 ./config/chmod -R 777 ./data/chmod -R 777 ./uc_client/chmod -R 777 ./uc_server/论坛页面访问http://192.168.109.132/bbs/install/index.php

 

 

 

 ----------------------------------------------------------------------------------------------------------
数据库服务器:localhost     ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123
----------------------------------------------------------------------------------------------------------
访问论坛页面:
http://192.168.109.132/bbs/index.php
http://192.168.109.132/bbs/admin.php

 

 

 

 

 

 

 

 

 

 

 

五、fpm参数优化

Nginx的PHP解析功能实现如果是交由FPM处理的,为了提高PHP的处理速度,可对FPM模块进行参数的调整
根据服务器的内存与服务负载,调整FPM模块参数

vim /usr/local/php/etc/php-fpm.conf pid = run/php-fpm.pidvim /usr/local/php/etc/php-fpm.d/www.conf--96行--pm = dynamic                #fpm进程启动方式,动态的--107行--pm.max_children=20            #fpm进程启动的最大进程数--112行--pm.start_servers = 5        #动态方式下启动时默认开启的进程数,在最小和最大之间--117行--pm.min_spare_servers = 2    #动态方式下最小空闲进程数--122行--pm.max_spare_servers = 8    #动态方式下最大空闲进程数kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`            #重启php-fpmnetstat -anpt | grep 9000ps -elf | grep php-fpm

 

总结

注:相关软件包

链接:https://pan.baidu.com/s/1SkHJL5HSrdxdNMH8CJH9dg 
提取码:heid 
如果失效了就私信我吧

妊娠纹产品大全