以前只是在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)
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();
版权声明:本文为博主原创文章,未经博主允许不得转载。 |