服务器安装LNMP及构建个人站点

 

服务器安装LNMPcentos6.6+nginx1.7.12+mysql5.6.24+php5.6.7)

本次安装  centos6.6+nginx1.7.12+mysql5.6.24+php5.6.31(虚拟机方式安装,跳过第一步)
libmcrypt https://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
pcre https://nchc.dl.sourceforge.net/project/pcre/pcre/8.36/pcre-8.36.tar.gz
mysql  http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz
php  http://hk2.php.net/distributions/php-5.6.31.tar.gz
下载文件命令 wget url
 

准备工具2个U盘、以下几个文件

ULtraISO-9.6.2.3059.exe                            (光盘映像文件制作/编辑/转换工具)

centos-6.6-x86-64-minimail.iso          (centos6.6的最小化安装ISO)

libmcrypt-2.5.8.tar.gz                         (加密函数源码包)

pcre-8.36.tar.gz                                  (pcre语言正则表达式源码包)

mysql-5.6.24.tar.gz                             (mysql源码包)

php-5.6.7.tar.gz                                   (php源码包)

nginx-1.7.12.tar.gz                              (nginx源码包)

备注nginx1.7.12、php5.6.7、mysql5.6.24、libmcrypt2.5.8、pcre8.36为固定版本,其他的编译工具等网络下载安装

1、centos-6.6-x86-64-minimail.iso的内容刻录到第1个U盘

客户端插入第1个空U盘,打开UltraISO软件,打开centos-6.6-x86-64-minimail.iso文件,点击”启动”菜单-“写入硬盘映像…”,硬盘驱动器选择U盘,点击 写入”,完成后拔出

2、源码安装包放入到第2个U盘

客户端插入第2个空U盘,拷贝libmcrypt-2.5.8.tar.gz、pcre-8.36.tar.gz、mysql-5.6.24.tar.gz、php-5.6.7.tar.gz、nginx-1.7.12.tar.gz,完成后拔出

        

一、centos6.6安装和配置

1、centos6.6安装

服务器插入第一个U

进入BIOS(按F9),设置USB启动为首选,按F10退出

F1继续进入安装界面,选择”install or upgrade an existing system”,回车

选择”english”语言(避免命令行下面的乱码问题),点OK

选择”us”键盘类型,点OK

选择安装媒体”Hard drive”,点OK

选择安装来源”/dev/sda4”,点OK

next,安装到哪个设备,选择Basic Storage Devices

next,安装方式为全新、升级,选择全新”Fresh instalation”

next,输入网络标识名称”test”,设置网络”configure network”

选择”system eth0”网卡,点edit,勾选”connect automatically”

”IPv4 settings”,从method中选择manual,

add设置IP、子网掩码、网关、DNS,点apply,点close

next,选择时区”上海”,设置密码

 

next,如何分区,选择”create custom layout”

create,点create,进入”add  partition”对话框页面(以2块硬盘为例子):

Mount point:选择/,ext4分区类型,输入size,点OK

Mount point:选择/tmp,ext4分区类型,输入size,点OK

File systemtype:选择SWAP,输入size,点OK

Mount point:选择/var,ext4分区类型,输入size,点OK

Mount point:选择/home,ext4分区类型,输入size,点OK

Mount point:选择/data,ext4分区类型,size选择”fill to maximum allowable” ,点OK

        

最终形成的分区如下表:

第一块硬盘:

第二块硬盘:

/系统10G

/var日志32G

     /usr系统软件

/home用户目录8G

     /usr/local第三方软件

/data数据文件*G(剩余全部分配)

     /usr/local/src源代码

     /data/mysql数据库文件

/tmp临时文件8G

     /data/website网页文件

swap交换分区8G

 

 

next,选择”write changes to disk”,写入磁盘

”change device”(修改MBR引导),”BIOS drive order”下拉选择第一个硬盘,点OK

next,等待安装完成

reboot并且拔出U盘,完成安装

        

2、centos6.6配置

服务器插入第2U

#modprobe  usb-storage                        (如果需要的话)加载usb模块

#fdisk  -l                                                 查看磁盘,usb模块是否加载成功

#mkdir  /mnt/usb                                创建usb目录

#mount  /dev/sda4  /mnt/usb            载入U盘(假如U盘是sda4)

#cd  /mnt/usb                                      进入/mnt/usb目录

#cp  *  /usr/local/src                           拷贝/mnt/usb目录下所有文件到src目录

#umount  /mnt/usb                                (如果需要的话)卸载U盘

        

#vi  /etc/sysconfig/iptables                 进入防火墙设置,打开3306、80端口

注意:vi里面有多余空格会报错

对应行下面增加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

一般修改远程登录端口22(安全)修改/etc/ssh/sshd_config中Port 22并且重启/etc/init.d/sshd:

#service  iptables  restart                         重启防火墙使设置生效

 

#yum  -y  install  wget  gcc-c++  ncurses-devel  cmake  make  perl  libjpeg-devel  libpng-devel  openssl-devel  libxml2-devel  gd-devel  libcurl-devel sysstat                         安装编译工具

 

#cd  /usr/local/src                                  进入/usr/local/src目录

#tar  zxvf  libmcrypt-2.5.8.tar.gz              解压libmcrypt-2.5.8.tar.gz

#tar  zxvf  pcre-8.36.tar.gz                       解压pcre-8.36.tar.gz

#tar  zxvf  mysql-5.6.24.tar.gz                 解压mysql-5.6.24.tar.gz

#tar  zxvf  php-5.6.7.tar.gz                       解压php-5.6.7.tar.gz

#tar  zxvf  nginx-1.7.12.tar.gz                  解压nginx-1.7.12.tar.gz

 

#cd  /usr/local/src/pcre-8.36                 进入pcre-8.36目录

#./configure                                             配置软件包

#make                                                      编译软件包

#make  install                                           安装软件包

#cd  /usr/local/src/libmcrypt-2.5.8        进入libmcrypt-2.5.8目录

#./configure                                             配置软件包

#make                                                      编译软件包

#make  install                                           安装软件包

        

二、mysqlnginxphp安装和配置

1、mysql、nginx、php安装

#groupadd  mysql                                      创建用户组mysql

#useradd  mysql  -g  mysql                        创建用户mysql,并加入到mysql组

#mkdir  /usr/local/mysql                          创建/usr/local/mysql目录

#mkdir  /data/mysql                                  创建/data/mysql目录

#mkdir  /data/mysql/data                         创建/data/mysql/data目录

        

#vi  /etc/profile                                         编辑profile ,加入PATH搜索路径

文件最后加入如下2行

PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

export PATH

#source  /etc/profile                                 使配置生效

        

#cd  /usr/local/src/mysql-5.6.24             进入mysql-5.6.24目录

#cmake  \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  \

-DDEFAULT_CHARSET=utf8  \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk  \

-DDEFAULT_COLLATION=utf8_general_ci  \

-DWITH_MYISAM_STORAGE_ENGINE=1  \

-DWITH_INNOBASE_STORAGE_ENGINE=1  \

-DWITH_ARCHIVE_STORAGE_ENGINE=1  \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1  \

-DWITH_MEMORY_STORAGE_ENGINE=1  \

-DWITH_READLINE=1  \

-DENABLED_LOCAL_INFILE=1  \

-DMYSQL_DATADIR=/data/mysql/data  \

-DMYSQL_USER=mysql  \

-DMYSQL_TCP_PORT=3306

#make                                                           编译mysql

#make  install                                               安装mysql

        

#cd  /usr/local/src/nginx-1.7.12                                                  进入nginx1.7.12目录

#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

#make                                                          编译nginx

#make  install                                              安装nginx

        

#cd  /usr/local/src/php-5.6.7                                                        进入php5.6.7目录

#./configure  \

--with-iconv  \

--with-zlib  \

--enable-xml  \

--disable-rpath  \

--enable-safe-mode  \

--enable-bcmath      \

--enable-shmop  \

--enable-sysvsem  \

--enable-inline-optimization  \

--with-curl  \

--with-curlwrappers  \

--enable-mbregex  \

--enable-mbstring  \

--with-mcrypt  \

--with-gd  \

--enable-gd-native-ttf  \

--with-openssl  \

--with-mhash  \

--enable-pcntl  \

--enable-sockets  \

--with-xmlrpc  \

--enable-soap  \

--without-pear  \

--enable-sqlite-utf8  \

--enable-ftp  \

--with-jpeg-dir  \

--with-freetype-dir  \

--with-png-dir  \

--enable-fpm  \

--with-fpm-user=httpd  \

--with-fpm-group=httpd  \

--with-pdo-mysql  \

--with-mysqli  \

--with-mcrypt=/usr/local/  \

--enable-opcache=no  \

#make                                                             编译php

#make  install                                                  安装php

        

2、mysql配置

#cp  /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf

拷贝my-default.cnf到/etc下名为my.cnf

#cd  /usr/local/mysql                                     返回上级目录/usr/local/mysql

#scripts/mysql_install_db  --user=mysql  --datadir=/data/mysql/data      初始化数据库

#chown  -R  mysql:mysql  /usr/local/mysql       修改/usr/local/mysql目录权限

#chown  -R  mysql:mysql  /data/mysql/data      修改/data/mysql/data目录权限

        

#cd  /usr/local/mysql/support-files            进入/usr/local/mysql/support-files目录

#./mysql.server  start                                   启动mysql服务

#mysql                                                          进入mysql

以下设置mysql远程连接配置

mysql>GRANT  ALL  PRIVILEGES  ON  *.*  TO  root@"%"  IDENTIFIED  BY  "123456";                             root是用户名,%代表任意主机,'123456'指定的登录密码

mysql>flush  privileges;                                重载系统权限

mysql>quit                                                   退出

        

3、php配置

#cp  /usr/local/src/php-5.6.7/php.ini-production  /usr/local/lib/php.ini

拷贝php.ini-production到/usr/local/lib目录下名为php.ini

#cp  /usr/local/etc/php-fpm.conf.default  /usr/local/etc/php-fpm.conf

拷贝/usr/local/etc/php-fpm.conf.default到/usr/local/etc/目录下名为php-fpm.conf

        

#groupadd  nginx                                       创建用户组nginx

#useradd  nginx  -g  nginx                         创建用户nginx,并加入到nginx组

#mkdir  /var/log/php                                创建/var/log/php目录

#chmod  666  /var/log/php                      设置/var/log/php目录权限

        

#vi  /usr/local/lib/php.ini                             编辑php.ini,修改时区

时区改为date.timezone="Asia/Shanghai"

#vi  /usr/local/etc/php-fpm.conf                  编辑php-fpm.conf

修改红色部分

error_log=/var/log/php/php-fpm.log

.

.

.

                   user=nginx

                   group=nginx

#/usr/local/sbin/php-fpm                             开启php服务

        

4、nginx配置

#vi  /usr/local/nginx/conf/nginx.conf          编辑nginx.conf

修改80端口为其他

最后 } 上面加入include vhost/*.conf;

        

#mkdir  /usr/local/nginx/conf/vhost

#ln  -s  /usr/local/lib/libpcre.so.1  /lib64     添加libpcre.so.1这个模块

#/usr/local/nginx/sbin/nginx                        开启nginx服务

        

#yum  -y  update                                                       安装系统补丁

        

三、站点测试

测试前先建立站点路径配置文件

php测试页代码:

<?php phpinfo(); ?>

 

php/nginx/mysql启动命令:

/usr/local/sbin/php-fpm

/usr/local/nginx/sbin/nginx

/usr/local/mysql/support-files/mysql.server  start

 

nginx -s reload  :修改配置后重新加载生效
nginx -s reopen  :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确
nginx -s stop  :快速停止nginx

 

              quit  :完整有序的停止nginx


我是用虚拟机搭的环境,做了些其他的操作,仅供参考:

1. 启用共享文件夹(使宿主机、客户机都可以相互使用同一工作空间)
    i. 启用VMware Tools,不同系统的装法有点不一样,请自行百度。
    ii.虚拟机->设置->选项->共享文件夹,点击启用,添加,按步骤来就行了
 

2. 配置nginx 配置,站点路径指向共享文件夹中的某一项目路径

    server {
        listen       8088;
        server_name  localhost;
        #root         html;
        root         /mnt/hgfs/website/basic/web;   #所指向共享文件夹路径
        index         index.html index.php;
     
        #php解析
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;                
            fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$document_root$fastcgi_script_name;
        #    include        fastcgi_params;
            include        fastcgi.conf;
        }
 
      

3.实现内网转发,外网可以直接访问站点(使用反向代理服务器,网上找到个第三方的,也可以自己搭个代理服务器,这里使用免费的,魔法隧道,配置比较简单)

 魔法隧道地址: http://www.mofasuidao.cn/

4.本地搭建ftp服务,使用魔法隧道对ftp 21端口进行转发(考虑个人电脑安全性暂未实现,即使要实现也必须增加安全性措施,sftp或许更适用)

 

通过这些就可以实现一个供演示玩耍的站点了,不过在操作权限上面做好防范,毕竟是个人电脑。
 




posted @ 2017-08-28 13:54  walkingSun  阅读(598)  评论(0编辑  收藏  举报
**/