OS
:
6.5
1.
关闭
SELinux,
关闭防火墙
原因:
1.SELinux
确实可以提高服务器的安全性,但是对于服务器的性能存在一定的影响,同时它的复杂规则对于管理人员来说非常头疼,所以暂时关掉吧,非要开启也是可以的;
2.
关闭防火墙是为了让初学者学习更加方便,对防火墙技术好的人可以开启防火墙。在企业环境中,只有配置了外网
IP
的服务器再会开启防火墙,但是即使是外网
IP
,一般情况下也不轻易的开启防火墙,高并发、高流量的业务服务器仍然不能开启防火墙,防火墙对性能存在一定的损耗,集群环境下的服务器防火墙一般都是关闭的,安全性可以借助硬件防火墙等设备进行提高,而且,现在机房的网络整体架构都依托于物理防火墙。
2.安装完成系统后进行软件升级
#service iptables stop
#chkconfig iptables off
#sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’/etc/selinux/config
此步骤是快速修改的方法,也可以通过
vi
进行修改,
SELINUX
修改完成后我们需要重启服务器,但是我们暂时不重启服务器,对服务器软件进行升级完成和启动项做了优化后再重启服务器;
#yum update -y
//
更新软件包,这个选项根据个人喜好吧
2.
精简系统开机启动项:
一般情况下,服务器刚装完系统后有必要保留的开机自启动服务只有
5
个,具体如下:
1.sshd :
远程连接
ssh
,不多说;
2.rsyslog:
日志相关文件,这是操作系统提供的一种机制
3.network:
服务器要联网,必须开启这个服务啊
4.crond:
这个服务主要用来执行系统及用户配置的任务计划,有周期性执行的任务的时候必须开启,生产环境下必须开启这个服务
5.sysstat:
服务器性能检测工具,收集服务器运行数据,判断运行是否正常
操作命令如下:
[root@localhost ~]# LANG=en
[root@localhost ~]# for root in `chkconfig --list|grep 3:on|awk '{print 1}'`;do chkconfig --level 3 1}'`;do chkconfig --level 3 root off;done
[root@localhost ~]# for root in crond network rsyslog sshd sysstat;do chkconfig --level 3 $root on;done //sysstat
服务在服务器中很可能没有,如果系统提示,我们只需把这个服务在这条命令中去掉就可以了
[root@localhost ~]# chkconfig --list|grep 3:on
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off
接下来我们重启服务器就可以了,重启的过程中,你会发现速度非常快;
安装配置
一
.Nginx
的安装部署
由于
CentOS6.5
默认是没有
Nginx
源的,我们需要手动安装
nginx
的
yum
源
1. 先执行下条命令进行nginx源的安装:
[root@LNAP /]#
rpm -ivh
http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
|
2.
查看
yum
的
nginx
信息
[root@LNAP /]# yum info nginx 已加载插件:fastestmirror Determining fastest mirrors * base: mirrors.yun-idc.com * extras: mirrors.neusoft.edu.cn * updates: mirrors.neusoft.edu.cn base | 3.7 kB 00:00 extras | 3.4 kB 00:00 extras/primary_db | 37 kB 00:00 nginx | 2.9 kB 00:00 nginx/primary_db | 22 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 4.3 MB 00:05 可安装的软件包 Name : nginx Arch : x86_64 Version : 1.10.3 Release : 1.el6.ngx Size : 861 k Repo : nginx Summary : High performance web server URL : http://nginx.org/ License : 2-clause BSD-like license Description : nginx [engine x] is an HTTP and reverse proxy server, as well as
: a mail proxy server.
|
3
,安装并启动
nignx
[root@LNAP /] #yum install nginx -y
........
.......
.......
[root@LNAP /]#
service nginx start
Starting nginx: [ OK ]
[root@LNAP /]#
chkconfig nginx on //
设置
nginx
开机自启动
|
4
,然后进入浏览器,根据你的
Linux
服务器的
IP
输入
http://x.x.x.x
测试,如果看到一下内容,就说明
Nginx
已经安装成功了
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
Thank you for using nginx.
|
如果不能连接到
nginx
,原因很多,但是可以先检查
1,nginx
服务是否真的起来了
2,linux
服务器防火墙是否打开
二
.Nginx
配置
SSL
支持的
HTTPS
默认情况下
ssl
模块并未被安装,如果要使用该模块则需要在编译时指定
–with-http_ssl_module
参数,安装模块依赖于
OpenSSL
库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似
libssl-dev
。
安装
opennssl
[root@LNAP /]#
yum install openssl -y
生成证书
可以通过以下步骤生成一个简单的证书:
首先,进入你想创建证书和私钥的目录,
[root@LNAP /]# cd /etc/nginx/
创建服务器私钥,命令会让你输入一个口令:
[root@LNAP /]# openssl genrsa -des3 -out nginx.key 2048
创建签名请求的证书(
CSR
):
[root@LNAP /]# openssl req -new -key nginx.key -out nginx.csr
[root@LNAP /] # cp nginx.key
nginx.key.org
最后标记证书使用上述私钥和
CSR
:
[root@LNAP /] # openssl x509 -req -days 365 -in nginx.csr -signkey nginx.key -out nginx.crt
配置
nginx
修改
Nginx
下你的
www
某一个网站的配置文件,让其包含新标记的证书和私钥:
#vim /etc/nginx/conf.d/default.conf //
例如这个默认的
server {
listen 443;
server_name localhost; ssl on; ssl_certificate server.crt;
ssl_certificate_key server.key;
# ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
#
这些内容根据自己的需求进行更改
}
|
我们可以复制这个默认的配置文件到
conf.d
目录下面,因为在
nginx
的
nginx.conf
中有这么一项
include /etc/nginx/conf.d/*.conf;
这样才显得规整一点,容易控制调节,不建议在
nginx.conf
文件中直接进行修改。
也就是说,只要这个配置文件下所有的虚拟主机端口
IP
不冲突,所有运行的网站都是可访问的;所以默认的哪的
default.conf
仅仅是其中一个,
nginx
给我们提供的一个模板,我们可以对它进行复制成自己想要的另外一个修改,用来使用。
重启
nginx
。
这样就可以通过以下方式访问:
https://192.168.34.5
有时候我们还有这种需求,为了防止用户去访问80不安全的网页,我们在nginx中可以配置端口重定向,在用户访问http://192.168.34.8的时候服务器自动跳转到
https://192.168.34.8,如果我们还是存在php访问支持,则按照下面的方法进行设置
server {
listen 80;
server_name www.cloud.com;
rewrite ^(.*)https:// https:// host$1 permanent;
location / {
root /data/html/phpwind/;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /data/html/phpwind/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/html/phpwind/$fastcgi_script_name;
include fastcgi_params;
}
}
|
三
.
安装
PHP
环境,并配置
Nginx
,支持
PHP
环境
如果
yum
安装不存在问题,可以利用
yum
进行安装,本人曾经安装的时候遇到过问题:
1.
如果
yum install php* -y
这条命令没有问题,直接进行安装就可以,如果不行,依次执行下面的命令:
#yum install php -y
#yum install php-fpm -y
让
php
开机自启动的命令不是
chkconfig php on,
而是
chkconfig php-fpm on
;
在这里,我们将
php-fpm
设置未开机自启动;
配置
php-ngin
环境:
#vim /etc/nginx/conf.d/default.conf
server {
-----------
省略部分内容
-----------
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param
SCRIPT_FILENAME /data/html/phpwind/
document r oot documentroot fastcgi_script_name;
include fastcgi_params;
}
-----------
省略部分内容
-----------
}
这里这个
SCRIPT_FILENAM
其实就是
index.php
所在的目录,因为
nginx
的所有网页文件都存放于
/usr/share/nginx/html/
目录下,在这个目录下可以存放多个网站的网页文件,但都是以目录的形式存放的,比如在这个目录下存放了一个
www
目录,且
www
目录下面有
index.php
,这里的
SCRIPT_FILENAME
就写成
fastcgi_param
/user/share/nginx/html/www/
document r oot documentroot fastcgi_script_name;
如果把网页文件放在了别的目录,如
/data/nginx/html/www/
,
则改成
fastcgi_param /data/nginx/html
/www/
document r oot documentroot fastcgi_script_name;
所有的文件路径建议使用绝对路径
server {
listen 443;
server_name www.tcloud.com;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
######SSL#############
ssl on;
ssl_certificate /etc/nginx/cert/discuz.crt;
ssl_certificate_key /etc/nginx/cert/discuz.key;
ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
########SSL模块##########
location / {
root /data/html/phpwind/;
index index.html index.htm index.php;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
##########PHP模块###########
location ~ \.php$ {
root /data/html/phpwind/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/html/phpwind/$fastcgi_script_name;
include fastcgi_params;
}
##########PHP#############
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#location ~ /\.ht {
# deny all;
#}
}
|
四
.
安装
MySQL
数据库
:
#yum install mysql* -y
直接安装就可以了,
修改
mysql
默认密码
:
方法
1
:
用
SET PASSWORD
命令
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpasswd');
方法
2
:用
mysqladmin
mysqladmin -u root password "newpasswd"
如果
root
已经设置过密码,采用如下方法
mysqladmin -u root password oldpass "newpasswd"
方法
3
:
用
UPDATE
直接编辑
user
表
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpasswd') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
在丢失
root
密码的时候,可以这样
mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("newpasswd") WHERE user='root';
mysql> FLUSH PRIVILEGES;
登陆Mysql数据库:
mysql -u username -p
输入密码即可登录
如
mysql -u root -p
[root@LNAP ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.