LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前流行的Web框架,该框架包括:Linux操作系统,Nginx网络服务器,MySQL数据库,PHP编程语言,所有组成产品均是免费开源软件,这四种软件组合到一起,成为一个免费、高效的网站服务系统。
nginx的安装
下载
http://nginx.org/download/nginx-1.13.5.zip
安装
cd nginx-1.13.5
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-file-aio --with-threads --with-http_stub_status_module
make
make instal
配置
useradd -M -d /usr/local/nginx/ -s /sbin/nologin -u 800 nginx
vim /usr/local/nginx/conf/nginx.conf
#在后面添加
server {
listen 80;
server_name www.westos.org;
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;
include fastcgi_params;
}
}
#location 正则匹配到以php结尾的到这里解析,
#root 指明了网站目录
#fastcgi_pass 指明了用哪里的php-fpm来解析
#fastcgi_index 指明首页
#fastcgi_param 指明的是php动态程序的主目录,/scripts也就是$fastcgi_script_name前面指定的路径,我们一般在这里写网站根目录的路径,比如我们的路径是 /usr/local/nginx/html/
php的安装
下载
下载地址: http://cn2.php.net/distributions/php-5.6.31.tar.bz2
安装
安装PHP所需的Lib库
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel
tar jxf php-5.6.31.tar.bz2
cd php-5.6.31/
./configure --prefix=/usr/local/php
make
make test
make install
测试
Mysql的安装
安装
安装依赖
yum install -y cmake gcc-c++* make ncurses-devel
创建mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
下载mysql-boost-5.7.17.tar.gz,上传到服务器
官网:https://dev.mysql.com/downloads/mysql/
tar xzf mysql-5.7.17.tar.gz
cd mysql-5.7.17
mkdir bld
cd bld/
cmake .. -DWITH_BOOST=../boost/ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql
提示cmake版本过低,下载高于2.8.2的版本:http://mirror.centos.org/centos/6/os/x86_64/Packages/cmake-2.8.12.2-4.el6.x86_64.rpm
cd ..
make
make install
#使用默认的配置文件
cd /usr/local/mysql/support-files
cp my-default.cnf ../my.cnf
编译过程中出错,清除临时文件重新编译:
make clean
rm CMakeCache.txt
安装完后把可执行文件路径加到系统环境变量:
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
初始化数据库
mkdir -p /data/mysql
chown -R mysql.mysql /data/mysql
mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/
#mysql5.7初始化后会随机生成一个密码,会直接打到屏幕上。
提示字符集有错
vim /usr/local/mysql/my.cnf ##编辑:增加两个编码变量
[client]
default-character-set = utf8
[mysqld]
character_set_server = utf8
启动mysql
cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql
/etc/init.d/mysqld start
Starting MySQL. SUCCESS!
netstat -tulnp | grep :3306 ##检查启动结果
tcp 0 0 :::3306 :::* LISTEN 2281/mysqld
mysql -uroot -p #初始密码因为有特殊字符,必须这样登陆
肯定第一件事就是改了这个密码