Linux CENTOS系统LNMP配置

博客随笔 / 124人浏览 / 0人评论

前言:
这里给初学者简单介绍一下在linux下linux+nginx+php+mysql环境的搭建,小白也能看的懂,后面还有其他常用工具以及php拓展的教学安装.


# 网络环境配置
#
# 1.设置虚拟机连接到VM8网络
# 2.设置本机网络适配器分享给VM8虚拟网卡
# 3.修改虚拟网卡IP地址为:192.168.137.1
# 4.编辑虚拟机中的网卡配置信息如下:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改以下内容
# ONBOOT=yes
# NM_CONTROLLED=yes
# BOOTPROTO=static
# IPADDR=192.168.137.10
# NETMASK=255.255.255.0
# GATEWAY=192.168.137.1
# DNS1=114.114.114.114
# service network restart
nginx -s reload重启nginx服务
chmod -R 777 /文件位置
更改文件权限
# 用户组配置
groupadd web
useradd developer -g web
useradd nginx -g web
useradd php -g web
useradd mysql -g web
useradd memcached -g web
useradd redis -g web
# 安装依赖
yum -y install wget
yum -y install gcc
yum -y install gcc-c++
yum -y install pcre-devel
yum -y install zlib-devel
yum -y install libxml2
yum -y install libxml2-devel
yum -y install libevent
yum -y install libevent-devel
yum -y install autoconf
yum -y install libpng-devel
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install expat-devel
yum -y install perl
yum -y install perl-ExtUtils-MakeMaker
yum -y install gettext-devel
yum -y install zlib-devel
yum -y install cpio
yum -y install gettext-devel
yum -y install ncurses-devel
yum -y install bison
yum -y install bison-devel
yum -y install make
yum -y install cmake
yum -y install php-pecl-zip
yum -y install perl-ExtUtils-MakeMaker package
yum -y install git
# 编译安装Nginx
cd package/
tar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure \\
--prefix=/usr/local/nginx \\
--conf-path=/etc/nginx.conf \\
--pid-path=/var/run/nginx.pid \\
--lock-path=/var/lock/nginx.lock \\
--sbin-path=/usr/local/bin/nginx \\
--error-log-path=/var/log/nginx.error.log \\
--http-log-path=/var/log/nginx.http.log \\
--with-http_ssl_module
#--prefix=PATH 设定安装目录
#--sbin-path=PATH 设定程序文件目录
#--conf-path=PATH 设定配置文件(nginx.conf)目录
#--error-log-path=PATH 设定错误日志目录
#--pid-path=PATH 设定pid文件(nginx.pid)目录
#--lock-path=PATH 设定lock文件(nginx.lock)目录
#--user=USER 设定程序运行的用户环境(www)
#--group=GROUP 设定程序运行的组环境(www)
#--builddir=DIR 设定程序编译目录
#--with-rtsig_module 允许rtsig模块
#--with-select_module 允许select模块(一种轮询模式,不推荐用在高载环境)
#--without-select_module 不使用select模块
#--with-poll_module 允许poll模块(一种轮询模式,不推荐用在高载环境)
#--without-poll_module 不使用poll模块
#--with-http_ssl_module 允许ngx_http_ssl_module模块(Apache对应:mod_ssl)
#--with-http_realip_module 允许ngx_http_realip_module模块(mod_rpaf)
#--with-http_addition_module 允许ngx_http_addition_module模块(mod_layout)
#--with-http_xslt_module 允许ngx_http_xslt_module模块
#--with-http_sub_module 允许ngx_http_sub_module模块
#--with-http_dav_module 允许ngx_http_dav_module模块(mod_dav)
#--with-http_flv_module 允许ngx_http_flv_module模块(mod_flvx)
#--with-http_gzip_static_module 允许ngx_http_gzip_static_module模块(mod_dflate)
#--with-http_random_index_module 允许ngx_http_random_index_module模块(mod_autoindex)
#--with-http_stub_status_module 允许ngx_http_stub_status_module模块(mod_status)
#--without-http_charset_module 不使用ngx_http_charset_module模块
#--without-http_gzip_module 不使用ngx_http_gzip_module模块
#--without-http_ssi_module 不使用ngx_http_ssi_module模块
#--without-http_userid_module 不使用ngx_http_userid_module模块
#--without-http_access_module 不使用ngx_http_access_module模块
#--without-http_auth_basic_module 不使用ngx_http_auth_basic_module模块
#--without-http_autoindex_module 不使用ngx_http_autoindex_module模块
#--without-http_geo_module 不使用ngx_http_geo_module模块
#--without-http_map_module 不使用ngx_http_map_module模块
#--without-http_referer_module 不使用ngx_http_referer_module模块
#--without-http_rewrite_module 不使用ngx_http_rewrite_module模块
#--without-http_proxy_module 不使用ngx_http_proxy_module模块
#--without-http_fastcgi_module 不使用ngx_http_fastcgi_module模块
#--without-http_memcached_module 不使用ngx_http_memcached_module模块
#--without-http_limit_zone_module 不使用ngx_http_limit_zone_module模块
#--without-http_empty_gif_module 不使用ngx_http_empty_gif_module模块
#--without-http_browser_module 不使用ngx_http_browser_module模块
#--without-http_upstream_ip_hash_module 不使用ngx_http_upstream_ip_hash_module模块
#--with-http_perl_module 允许ngx_http_perl_module模块
#--with-perl_modules_path=PATH 设置perl模块路径
#--with-perl=PATH 设置perl库文件路径
#--http-log-path=PATH 设置access log文件路径
#--http-client-body-temp-path=PATH 设置客户端请求临时文件路径
#--http-proxy-temp-path=PATH 设置http proxy临时文件路径
#--http-fastcgi-temp-path=PATH 设置http fastcgi临时文件路径
#--without-http 不使用HTTP server功能
#--with-mail 允许POP3/IMAP4/SMTP代理模块
#--with-mail_ssl_module 允许ngx_mail_ssl_module模块
#--without-mail_pop3_module 不允许ngx_mail_pop3_module模块
#--without-mail_imap_module 不允许ngx_mail_imap_module模块
#--without-mail_smtp_module 不允许ngx_mail_smtp_module模块
#--with-google_perftools_module 允许ngx_google_perftools_module模块(调试用)
#--with-cpp_test_module 允许ngx_cpp_test_module模块
#--add-module=PATH 允许使用外部模块,以及路径
#--with-cc=PATH 设置C编译器路径
#--with-cpp=PATH 设置C预处理路径
#--with-cc-opt=OPTIONS 设置C编译器参数
#--with-ld-opt=OPTIONS 设置连接文件参数
#--with-cpu-opt=CPU 为指定CPU优化,可选参数有:pentium, pentiumpro, pentium3, pentium4,athlon, opteron, sparc32, sparc64, ppc64
#--without-pcre 不使用pcre库文件
#--with-pcre=DIR 设定PCRE库路径
#--with-pcre-opt=OPTIONS 设置PCRE运行参数
#--with-md5=DIR 设定md5库文件路径
#--with-md5-opt=OPTIONS 设置md5运行参数
#--with-md5-asm 使用md5源文件编译
#--with-sha1=DIR 设定sha1库文件路径
#--with-sha1-opt=OPTIONS 设置sha1运行参数
#--with-sha1-asm 使用sha1源文件编译
#--with-zlib=DIR 设定zlib库文件路径
#--with-zlib-opt=OPTIONS 设置zlib运行参数
#--with-zlib-asm=CPU 使zlib对特定的CPU进行优化,可选参数:pentium, pentiumpro
#--with-openssl=DIR 设定OpenSSL库文件路径
#--with-openssl-opt=OPTIONS 设置OpenSSL运行参数
#--with-debug 允许调试日志
make && make install && cd ../..
cp -f service/nginx.service /lib/systemd/system/nginx.service
systemctl start nginx.service
# 查看服务是否启动
systemctl status nginx.service
# 打开防火墙80端口
systemctl restart firewalld.service
firewall-cmd --zone=public --permanent --add-port=80/tcp
# 编译安装PHP7
cd package/
tar -zxvf php-7.1.10.tar.gz
cd php-7.1.10
./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fpm --with-openssl --enable-mysqlnd --with-gd
--enable-zip --enable-ftp --with-curl --with-mysql --with-mysqli --with-pdo_mysql --enable-sockets  --with-zlib-dir
--enable-mbstring --with-mcrypt mcryp --enable-bcmath
# 基础配置项
# --prefix=PATH 指定 PHP 安装目录
# --enable-mysqlnd 指定Mysqlnd引擎支持
# --with-config-file-path=PATH 指定php.ini位置
# --disable-debug 关闭调试模式
# FastCGI支持
# --enable-fpm PHP-fpm支持,CGI方式安装的启动程序
# --enable-fastCGI 支持fastcgi方式启动PHP
# --enable-force-CGI-redirect 重定向方式启动PHP
# Apache整合
# --with-apxs2=PATH 整合Apache制表符LoadModule指令
# 数据库支持
# --with-mysql 开启Mysql扩展
# --with-mysqli 开启Mysqli扩展
# --with-pdo_mysql 开启PdoMysql扩展
# 网络协议支持
# --enable-sockets 打开 sockets 支持
# --with-curl 打开curl浏览工具的支持
# --with-curlwrappers 运用curl工具打开url流
# --with-zlib-dir 打开zlib库的支持,用于http压缩传输
# --with-openssl openssl的支持,加密传输https时用到的
# --enable-ftp 打开ftp的支持
# --enable-soap 打开SOAP的支持
# 图形库支持
#  --with-gd 打开gd库的支持
# --with-jpeg-dir 打开对jpeg图片的支持
# --with-png-dir 打开对png图片的支持
# --enable-gd-native-ttf 支持TrueType字符串函数库
# 字符串增强支持
# --with-iconv-dir=PATH 指定编码转换函数库路径
# --without-iconv 关闭iconv函数,字符集间的转换
# --with-freetype-dir 打开对freetype字体库的支持
# --with-libxml-dir 打开libxml2库的支持
# --enable-mbstring 多字节,字符串的支持
# --with-mcrypt mcrypt算法扩展
# --with-mhash mhash算法扩展
# --enable-mbregex mbregex算法扩展
# 文件压缩支持
# --enable-zip 打开对zip的支持
# --with-bz2 打开对bz2文件的支持
# 其他支持
# --disable-rpath 关闭额外的运行库文件
# --enable-bcmath 打开图片大小调整,用到zabbix监控的时候用到了这个模块
# --enable-shmop IPC函数支持
# --enable-sysvsem IPC函数支持
# --enable-inline-optimization 优化线程
# --enable-pcntl freeTDS需要用到的,可能是链接mssql 才用到
# --with-xmlrpc 打开xml-rpc的C语言
# --with-ttf 打开freetype1.*的支持,可以不加了
# --with-xsl 打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
# --with-gettext 打开gnu 的gettext 支持,编码库用到
# --with-pear 打开pear命令的支持,PHP扩展用的
# --enable-calendar 打开日历扩展功能
# --enable-exif 图片的元数据支持
# --enable-magic-quotes 魔术引用的支持
# --with-mime-magic=PATH 魔术头文件位置
# --with-ncurses 支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
# --with-gmp 应该是支持一种规范
# --enable-dbase 建立DBA 作为共享模块
# --with-pcre-dir=PATH perl的正则库案安装位置
# --disable-dmalloc
# --with-gdbm dba的gdbm支持
# --enable-sigchild
# --enable-sysvshm
# --enable-zend-multibyte 支持zend的多字节
# --enable-wddx
make &&  make install &&  ln -s /usr/local/php/bin/php /usr/bin/ && cd ../
# PHP-FPM配置
cp php/sapi/fpm/php-fpm.service /lib/systemd/system/php-fpm.service &&
cp php/sapi/fpm/php-fpm.conf /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 &&
cp php/php.ini-development /etc/php.ini
# 启动PHP-FPM服务
systemctl start php-fpm.service
# 查看服务是否启动
systemctl status php-fpm.service
# 编译安装Mysql5.6
cd package/
tar -zxvf mysql-5.6.16.tar.gz
cd mysql-5.6.16
# 配置编译参数
cmake \\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\
-DMYSQL_DATADIR=/opt/mysql \\
-DSYSCONFDIR=/etc \\
-DWITH_MYISAM_STORAGE_ENGINE=1 \\
-DWITH_INNOBASE_STORAGE_ENGINE=1 \\
-DWITH_MEMORY_STORAGE_ENGINE=1 \\
-DWITH_READLINE=1 \\
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \\
-DMYSQL_TCP_PORT=3306 \\
-DENABLED_LOCAL_INFILE=1 \\
-DWITH_PARTITION_STORAGE_ENGINE=1 \\
-DEXTRA_CHARSETS=all \\
-DDEFAULT_CHARSET=utf8 \\
-DDEFAULT_COLLATION=utf8_general_ci
# 执行编译操作
make
make install
cd ../..
# 创建数据库实例
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/opt/mysql --user=mysql
# 拷贝Mysql配置文件
rm -rf /etc/my.cnf
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
# 加入Mysql客户端到环境变量
vim ~/.bash_profile
写入: PATH=$PATH:/usr/local/mysql/bin
source ~/.bash_profile
# 把mysql加入service服务
cp /package/mysql-5.6.16/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
# 启动Mysql服务
service mysql start
# 设置初始密码
/usr/local/mysql/bin/mysqladmin -u root password 123456
# 添加远程登录(防火墙需开启3306端口)
mysql -uroot -p123456
use mysql;
GRANT ALL PRIVILEGES ON *.* TO root@\'%\' IDENTIFIED BY \'123456\' WITH GRANT OPTION;
exit;
service mysql restart
# 编译安装GIT
yum -y remove git
cd package/
tar -xvf git-2.14.2.tar.xz
cd git-2.14.2
./configure prefix=/usr/local/git
make && make install && cd ../..
ln -s /usr/local/git/bin/git /usr/bin/git
# 配置GIT账号
git config --global user.name \'odaytudio\'
git config --global user.email \'odaytudio@gmail.com\'
# 配置SSH
# ssh-keygen -t rsa -C \"邮箱地址\"
# cd ~/.ssh
# Composer安装
cp package/composer.phar /usr/bin/composer
chmod +x /usr/bin/composer
# 替换为国内镜像地址
composer config -g repo.packagist composer https://packagist.phpcomposer.com
# PHPUnit安装
cp package/phpunit-6.3.1.phar /usr/bin/phpunit
chmod +x /usr/bin/phpunit
# PHP-Mbstring安装
cd package/php-7.1.10/ext/mbstring/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && cd ../../../..
# PHP-Zip安装
cd package/php-7.1.10/ext/zip/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && cd ../../../..
# PHP-Intl安装
yum install -y libicu-devel
cd package/php-7.1.10/ext/intl/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && cd ../../../..
# PHP-Curl安装
cd package/php-7.1.10/ext/curl/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && cd ../../../..
# PHP-GD安装
yum -y install libjpeg-turbo-devel
yum -y install freetype-devel
cd packges/php-7.0.13/ext/gd/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/include/ --with-freetype-dir=/usr/include/freetype2/freetype/ --with-png-dir=/usr/local/libpng/
make && make install && cd ../../../..
# PHP-Mysqli安装
cd packges/php-7.0.13/ext/mysqli/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=mysqlnd
make && make install && cd ../../../..
# PHP-Pdo_Mysql安装
cd packges/php-7.0.13/ext/pdo_mysql/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=mysqlnd
make && make install && cd ../../../..
# PHP-Curl安装
cd packges/php-7.0.13/ext/curl/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && cd ../../../..
# PHP-Zlib安装
cd packges/php-7.0.13/ext/zlib/
mv config0.m4 config.m4
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && cd ../../../..
# PHP-Zip安装
cd packges/php-7.0.13/ext/zip/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && cd ../../../..
# PHP-Memcached安装
cd packges/
#wget https://launchpad.net/libmemcached/1.0/1.0.9/+download/libmemcached-1.0.9.tar.gz
tar -zxvf libmemcached-1.0.9.tar.gz
cd libmemcached-1.0.9
./configure
make && make install && cd ..
tar -zxvf memcached-2.2.0.tgz
cd memcached-2.2.0
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config --disable-memcached-sasl
make && make install && cd ../../..
# PHP-Redis安装
git clone https://github.com/nicolasff/phpredis
cd phpredis/
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make && make install && cd ..
# 更新GMP-6.1.0最新版
cd packges/
tar -jxvf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
./configure
make && make install && cd ..
# 更新mpfr-3.1.5最新版
cd packges/
tar -zxvf mpfr-3.1.5.tar.gz
cd mpfr-3.1.5
./configure
make && make install && cd ..
# 更新mpc-1.0.2最新版
cd packges/
tar -zxvf mpc-1.0.2.tar.gz
cd mpc-1.0.2
./configure
make && make install && cd ..
# 更新GCC-6.3.0最新版
yum -y install ntpdate
ntpdate cn.pool.ntp.org
cd packges/
tar -zxvf gcc-6.3.0.tar.gz
cd gcc-6.3.0
./configure --disable-multilib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
make
yum -y remove gcc
make install && cd ..
rm -f /usr/lib64/libstdc++.so.6*
cp /usr/local/lib64/libstdc++.so.6 /usr/lib64/
# NodeJS环境安装
cd packges/
tar -zxvf node-v6.10.0.tar.gz
cd node-v6.10.0
./configure
ln /usr/local/bin/gcc /usr/local/bin/cc
make && make install && cd ..

感谢博主,喝杯咖啡~

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我