设为首页 收藏本站
查看: 930|回复: 0

Centos 6.5 搭建LNMP服务器(nginx+mysql+php)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-16 11:48:36 | 显示全部楼层 |阅读模式
  以前只是在centos环境下写c/c++代码,没有搭建过什么服务器,因为项目需要,所以现在要将项目中用到的服务器部署在现网上,在搭建过程中遇到了一些问题,现在将自己的一些经验贴出来,供大家分享
  1、防火墙开放端口
  nginx :默认是80 ,也可以添加server,并设置监听端口,我这里再增加一个端口8186
  mysql:默认是3306
  mongo:nosql数据库,默认是27017
  注意:
  如果你的系统是刚装的,因为不存在/etc/sysconfig/iptables配置文件,你可以用如下命令开放端口
  /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  /sbin/iptables -I INPUT -p tcp --dport 8180 -j ACCEPT


  /sbin/iptables -I INPUT -p tcp --dport 8186 -j ACCEPT


  /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT


  /sbin/iptables -I INPUT -p tcp --dport 27017 -j ACCEPT


  如果你的系统已经存在配置文件/etc/sysconfig/iptables,可以直接编辑配置文件/etc/sysconfig/iptables,添加如下内容:
  -A INPUT -p tcp -m tcp --dport 8186 -j ACCEPT

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

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

-A INPUT -p tcp -m tcp --dport 27017 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 8180 -j ACCEPT


  修改完毕后,重启防火墙,命令如下
  service iptables restart 或者/etc/init.d/iptables restart
  2、安装mysql数库服务器
  有两种安装方式,一种到官网下载源码进行安装,另一种直接使用yum命令安装,yum命令安装的方式可能安装的版本比较旧,如果你想使用最新的版本,建议采用下载源码的方式安装。
  我这里采用yum命令安装
  yum install mysql mysql-server -y
  安装完成后,启动mysql数据库,启动方式如下:
  service mysqld start 或者/etc/init.d/mysqld start
  (1)设置root用户密码
  mysql数据库安装完成后只有一个root管理员账号,但是此时的root账号还没有设置密码,现在我们来设置root用户密码
  

/usr/bin/mysqladmin -u root password 'new-password'  // 为root账号设置密码
或者mysqladmin -u root password 'new-password'  
  还可以直接执行mysql命令,在mysql命令行里面设置密码
  mysql -u root
  mysql> set password for root@localhost=password('在这里填入root密码');  ← 设置root密码


  授权:
  任何主机连接MySQL服务器


  mysql>GRANT
ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;



  指定主机连接mysql服务器
  mysql>GRANT ALL PRIVILEGES
ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;

  mysql>FLUSH
PRIVILEGES

  设置完成后,执行exit命令退出
  (2)创建数据库
  用root用户登录
  # mysql -u root -p
  mysql>输入root用户密码
  mysql>create database mydb;
  mysql>exit
  (3)创建表或者导入数据
  可以通过mysql命令创建表和插入数据,这里用命令导入我之前准备好的数据库表的sql脚本
  mysql -u root -p 数据库名 <数据库脚本,然后输入密码,就会打印导入成功或者失败
  将数据库中的数据导出
  mysqldump -u root -p 数据库名 > 数据库脚本
  3、安装nginx服务器
  可以采用源码安装和yum安装,采用源码安装,不需要联网,yum安装必须要联网
  yum install nginx -y
  启动nginx
  service nginx start 或者/etc/init.d/nginx start
  配置nginx
  
  cp /etc/nginx/nginx.conf  /etc/nginx/nginx.confbak    #备份原有配置文件

vi /etc/nginx/nginx.conf  #编辑

user  nginx  nginx;  #修改nginx运行账号为:nginx组的nginx用户
  :wq!    #保存退出
  cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak   #备份原有配置文件

vi /etc/nginx/conf.d/default.conf   #编辑
  index index.php index.html index.htm;   #增加index.php
# pass the PHPscripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

   root          html;

   fastcgi_pass   127.0.0.1:9000;

   fastcgi_index  index.php;

   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

   include       fastcgi_params;

}

#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径


增加自定义接口(这里我在php服务打开8180用于自己的接口服务器)  

server {
listen       8180;
root /home/api/wwwroot;
charset utf-8;
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
#location / {
#        index  index.php index.html index.htm;
#}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;

}
}


  
  4、安装php服务器
  安装php
  yum install php -y
  安装php组件,使php支持mysql、php支持FastCGI模式
  yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm          #根据提示输入Y回车


  配置php
  
  vi /etc/php.ini   #编辑
  date.timezone= PRC     #在946行 把前面的分号去掉,改为date.timezone = PRC
  disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec
  ,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink
  ,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen
  ,disk_free_space,checkdnsrr,getservbyname,getservbyport,disk_total_space
  ,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid
  ,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp
  ,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid
  ,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid
  ,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

expose_php = Off        #在432行 禁止显示php版本的信息

magic_quotes_gpc = On   #在745行 打开magic_quotes_gpc来防止SQL注入

open_basedir = .:/tmp/  #在380行,设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题,可注销此行,或者直接写上程序目录路径/var/www/html/www.osyunwei.com/:/tmp/

配置php-fpm  
  cp /etc/php-fpm.d/www.conf   /etc/php-fpm.d/www.confbak   #备份原有配置文件

vi /etc/php-fpm.d/www.conf   #编辑

user = nginx   #修改用户为nginx

group = nginx   #修改组为nginx
  /etc/init.d/mysqld restart  #重启MySql

/etc/init.d/nginx  restart  #重启nginx

/etc/rc.d/init.d/php-fpm  restart  #重启php-fpm



5、测试  
  cd /usr/share/nginx/html/   #进入nginx默认网站根目录

vi  index.php   #新建index.php文件
  <?php

     phpinfo();
  ?>

:wq  在浏览器中输入ip进行访问
  6、mongodb的安装
  
  1、下载MongoDB(64位)
  http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz
  或
  http://pan.baidu.com/s/1mgyRB8c
  2、安装MongoDB(安装到/usr/local)

DSC0000.gif
tar zxvf mongodb-linux-x86_64-2.4.9.tgz
mv mongodb-linux-x86_64-2.4.9 mongodb
cd mongodb
mkdir db
mkdir logs
cd bin
vi mongodb.conf

dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
fork=true
nohttpinterface=true
  3、重新绑定mongodb的配置文件地址和访问IP

/usr/local/mongodb/bin/mongod --bind_ip localhost -f /usr/local/mongodb/bin/mongodb.conf
  4、开机自动启动mongodb

vi /etc/rc.d/rc.local
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
  5、重启一下系统测试下能不能自启

#进入mongodb的shell模式
/usr/local/mongodb/bin/mongo
#查看数据库列表
show dbs
#当前db版本
db.version();


版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-139884-1-1.html 上篇帖子: 新服务器检查与搭建LNMP生产环境 下篇帖子: CentOS 编译安装搭建LNMP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表