LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
源码安装 mysql
yum install gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel
cmake -y
tar zxf mysql-boost-5.7.17.tar.gz
cd mysql-5.7.17/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \
-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BOOST=boost/boost_1_59_0/
make
make install
cp /usr/local/lnmp/mysql/support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf
basedir = /usr/local/lnmp/mysql
datadir = /usr/local/lnmp/mysql/data
port = 3306
# server_id = .....
socket = /usr/local/lnmp/mysql/data/mysql.sock
cp /usr/local/lnmp/mysql/support-files/mysql.server /etc/init.d/mysqld
groupadd -g 27 mysql
useradd -u 27 -g 27 mysql
cd /usr/local/lnmp/mysql/
chown mysql.mysql . -R
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin
source ~/.bash_profile
mysqld --initialize --user=mysql
执行完这条命林后,会弹出很多行数据,复制最后一条冒号后生成的密码
mysql_secure_installation
(1)在第一次交互请求后面输入刚刚初始化时复制的密码
(2)然后输入两次新密码
(3)接下来的交互式请求可以直接回车,这条交互式请求是询问你是否要检查密码强度, 如
果输入 y,就要重新修改密码,密码长度必须超过 8 位,必须有大小写字母, 所以我们直
接回车
(4)接下来会询问是否要修改 root 密码,直接回车,因为上面已经设置过了
(5)接下来全部输入 y 回车就行 现在就可以直接进入 mysql 了
/etc/init.d/mysqld start
mysql -p
chown root.mysql . -R
chown mysql data data/ -R
php 源码安装
tar jxf php-5.6.35.tar.bz2
cd php-5.6.35
./configure --prefix=/usr/local/lnmp/php \
--with-config-file-path=/usr/local/lnmp/php/etc \
--with-mysql=mysqlnd \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--with-snmp \
--with-gd \
--with-zlib \
--with-curl \
--with-libxml-dir \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-pear \
--with-gettext \
--with-gmp \
--enable-inline-optimization \
--enable-soap \
--enable-ftp \
--enable-sockets \
--enable-mbstring \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-mcrypt \
--with-mhash
yum install libxml2 libxml2-devel openssl-devel curl-devel net-snmp-devel -y
yum install gd-devel-2.0.35-11.el6.x86_64.rpm -y
yum install libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm -y
yum install re2c-0.13.5-1.el6.x86_64.rpm
cd /usr/local/lnmp/php/etc/
cp php-fpm.conf.default php-fpm.conf
cd php-5.6.35/
cp php.ini-production /usr/local/lnmp/php/etc/php.ini
vim /usr/local/lnmp/php/etc/php-fpm.conf
pid = run/php-fpm.pid ##去除 pid 前的;
vim /usr/local/lnmp/php/etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone =Asia/Shanghai ##修改时区
useradd -M -d /usr/local/lnmp/nginx -s /sbin/nologin nginx
cd php-5.6.35/sapi/fpm/
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
/etc/init.d/php-fpm start
Nginx 源码安装
tar zxf nginx-1.14.0.tar.gz
yum install gcc pcre-devel openssl-devel -y
cd /mnt/nginx-1.14.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module
--with-http_stub_status_module --with-threads --with-file-aio
make
make install
ln -s /usr/local/nginx/sbin/nginx /sbin/
cd /usr/local/lnmp/nginx/conf/
vim nginx.conf
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/mysql/nginx
source ~/.bash_profile
yum install unzip -y
unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/ ###解压到指定目
录
cd /usr/local/lnmp/nginx/html/
mv upload bbs ###改目录名
安装 Discuz
cd /usr/local/lnmp/nginx/html/bbs
chmod 777 config/ data/ uc_server/ uc_client/ -R
cd /usr/local/lnmp/php/etc/
vim php.ini
pdo_mysql.default_socket=/usr/local/lnmp/mysql/data/mysql.sock
mysql.default_socket =/usr/local/lnmp/mysql/data/mysql.sock
mysqli.default_socket =/usr/local/lnmp/mysql/data/mysql.sock