Skip to content

Commit 2e86d20

Browse files
committed
2017-01-31完善Nginx部署相关
1 parent 3e849c6 commit 2e86d20

11 files changed

Lines changed: 288 additions & 0 deletions

File tree

Nginx-Install-And-Settings.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ exit $RETVAL
206206
### Nginx 在 1.8.1 版本下的默认配置(去掉注释)
207207

208208
``` nginx
209+
user root;#我这里习惯使用 root,所以这里需要这样设置。如果你有为你的 nginx 专门配置一个用户,这里需要改为你的用户
209210
worker_processes 1;
210211
211212
events {
@@ -243,6 +244,7 @@ http {
243244
- 设置两个虚拟主机(通过**端口**来区分开)
244245

245246
``` nginx
247+
user root;#我这里习惯使用 root,所以这里需要这样设置。如果你有为你的 nginx 专门配置一个用户,这里需要改为你的用户
246248
worker_processes 1;
247249
248250
events {
@@ -295,6 +297,7 @@ http {
295297
- 设置两个虚拟主机(通过**域名**来区分开)
296298

297299
``` nginx
300+
user root;#我这里习惯使用 root,所以这里需要这样设置。如果你有为你的 nginx 专门配置一个用户,这里需要改为你的用户
298301
worker_processes 1;
299302
300303
events {
@@ -356,6 +359,7 @@ http {
356359
- Nginx 配置:
357360

358361
``` nginx
362+
user root;#我这里习惯使用 root,所以这里需要这样设置。如果你有为你的 nginx 专门配置一个用户,这里需要改为你的用户
359363
worker_processes 1;
360364
361365
events {
File renamed without changes.

MySQL-Settings/MySQL-5.6/1G-Memory-Machine/my-for-comprehensive.cnf renamed to favorite-file/MySQL-Settings/MySQL-5.6/1G-Memory-Machine/my-for-comprehensive.cnf

File renamed without changes.

MySQL-Settings/MySQL-5.6/1G-Memory-Machine/my-for-master.cnf renamed to favorite-file/MySQL-Settings/MySQL-5.6/1G-Memory-Machine/my-for-master.cnf

File renamed without changes.

MySQL-Settings/MySQL-5.6/1G-Memory-Machine/my-for-salve.cnf renamed to favorite-file/MySQL-Settings/MySQL-5.6/1G-Memory-Machine/my-for-salve.cnf

File renamed without changes.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
[mysql]
2+
port = 3306
3+
socket = /usr/program/mysql/data/mysql.sock
4+
default-character-set = utf8
5+
6+
[mysqld]
7+
user = mysql
8+
port = 3306
9+
default-storage-engine = InnoDB
10+
socket = /usr/program/mysql/data/mysql.sock
11+
pid-file = /usr/program/mysql/data/mysql.pid
12+
collation-server = utf8_general_ci
13+
init_connect = 'SET NAMES utf8'
14+
character-set-server = utf8
15+
basedir = /usr/program/mysql
16+
datadir = /usr/program/mysql/data
17+
log-error = /usr/program/mysql/data/mysql-error.log
18+
server-id = 1
19+
back_log = 512
20+
max_connections = 1000
21+
max_allowed_packet = 16M
22+
max_connect_errors = 1000000
23+
skip-name-resolve
24+
open_files_limit = 65535
25+
table_open_cache = 2048
26+
binlog_cache_size = 1M
27+
max_heap_table_size = 32M
28+
tmp_table_size = 32M
29+
read_buffer_size = 2M
30+
read_rnd_buffer_size = 8M
31+
sort_buffer_size = 2M
32+
join_buffer_size = 4M
33+
key_buffer_size = 64M
34+
thread_cache_size = 8
35+
thread_stack = 256k
36+
query_cache_type = 1
37+
query_cache_size = 8M
38+
query_cache_limit = 2M
39+
ft_min_word_len = 4
40+
log-bin = /usr/program/mysql/data/mysql-bin
41+
binlog-format = mixed
42+
expire_logs_days = 30
43+
sync_binlog = 0
44+
slow_query_log = 1
45+
long_query_time = 3
46+
slow_query_log_file = /usr/program/mysql/data/mysql-slow.log
47+
performance_schema = 0
48+
explicit_defaults_for_timestamp = true
49+
lower_case_table_names = 1
50+
skip_external_locking
51+
table_definition_cache = 1024
52+
thread_concurrency = 2
53+
innodb = FORCE
54+
innodb_file_per_table = 1
55+
innodb_open_files = 500
56+
innodb_buffer_pool_size = 592M
57+
innodb_write_io_threads = 4
58+
innodb_read_io_threads = 4
59+
innodb_thread_concurrency = 0
60+
innodb_purge_threads = 1
61+
innodb_flush_log_at_trx_commit = 1
62+
innodb_log_buffer_size = 2M
63+
innodb_log_file_size = 64M
64+
innodb_log_files_in_group = 3
65+
innodb_max_dirty_pages_pct = 90
66+
innodb_lock_wait_timeout = 120
67+
innodb_additional_mem_pool_size = 2M
68+
bulk_insert_buffer_size = 8M
69+
myisam_sort_buffer_size = 8M
70+
myisam_max_sort_file_size = 100G
71+
myisam_repair_threads = 1
72+
interactive_timeout = 28800
73+
wait_timeout = 3600
74+
75+
[mysqldump]
76+
quick
77+
max_allowed_packet = 16M
78+
79+
[myisamchk]
80+
key_buffer_size = 8M
81+
sort_buffer_size = 8M
82+
read_buffer = 4M
83+
write_buffer = 4M

MySQL-Settings/MySQL-5.6/developer/my-Windows-8G-开发机.ini renamed to favorite-file/MySQL-Settings/MySQL-5.6/developer/my-Windows-8G-开发机.ini

File renamed without changes.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
user root;
2+
3+
worker_processes 2;#Nginx进程数, 建议设置为等于CPU总核心数
4+
5+
events {
6+
use epoll; #nginx工作模式,epoll是linux平台下的高效模式,配合nginx的异步非阻塞作用
7+
worker_connections 1024;#单个进程最大连接数
8+
}
9+
10+
http {
11+
include mime.types;#扩展名与文件类型映射表:#nginx通过服务端文件的后缀名来判断这个文件属于什么类型,再将该数据类型写入http头部的Content-Type字段中,发送给客户端。mime.types这个文件里面全是文件类型的定义。
12+
default_type application/octet-stream;#当用户请求的文件后缀在mime.types这个文件没有定义,便使用默认的type为二进制流
13+
sendfile on;#开启高效文件传输模式
14+
tcp_nopush on;#启用之后,数据包会累积到一定大小才会发送,减小了额外开销,防止网络阻塞,提高网络效率
15+
tcp_nodelay on;#启用之后,尽快发送数据。可以看到tcp_nopush是要等数据包累积到一定大小才发送,tcp_nodelay是要尽快发送,二者相互矛盾。实际上,它们可以一起用,最终的效果是先填满包,再尽快发送。
16+
keepalive_timeout 65;
17+
charset utf8;
18+
19+
#全局日志(也可以把这个配置到 server 中进行不同 server 的不同配置)
20+
access_log /var/log/nginx/access.log;
21+
error_log /var/log/nginx/error.log;
22+
23+
# gzip 压缩设置
24+
gzip on;
25+
gzip_min_length 1k;
26+
gzip_buffers 4 16k;
27+
gzip_http_version 1.0;
28+
gzip_comp_level 2;#gzip的压缩程度,级别为1到9.级别越高,压缩程序越高,时间越多
29+
gzip_types text/plain application/x-javascript text/css text/xml application/xml text/javascript application/javascript application/json;
30+
gzip_vary on;#告诉接受方数据经过gzip压缩
31+
gzip_disable "MSIE[1-6]\."; #因为IE6对gzip不支持,所以在IE6及更旧的版本不使用gzip压缩
32+
33+
server {
34+
35+
listen 80; #监听80端口
36+
server_name localhost 127.0.0.1 120.77.84.121 gitnavi.com;
37+
38+
location / {
39+
root /usr/program/tomcat8/webapps/ROOT;#静态文件直接读取硬盘,所有这里直接写tomcat的程序里面的静态资源目录
40+
index index.html index.jsp;
41+
}
42+
#静态资源转发
43+
#由nginx处理静态页面
44+
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
45+
root /usr/program/tomcat8/webapps/ROOT;#这里直接写tomcat的程序里面的静态资源目录
46+
expires 30d;#使用expires缓存模块,缓存到客户端30(这个模块看下有没有安装)
47+
}
48+
#因为我的 html 页面经常变动,所以 html 我这里就不缓存了
49+
location ~ .*\.(js|css)?$ {
50+
root /usr/program/tomcat8/webapps/ROOT;#静态文件直接读取硬盘,所有这里直接写tomcat的程序里面的静态资源目录
51+
expires 1d;#也可以指定小时,比如:12h
52+
}
53+
#其他请求都视为动态请求处理
54+
location ~ .*$ {
55+
proxy_pass http://127.0.0.1:8080; #转发请求交给tomcat处理
56+
proxy_redirect off;
57+
proxy_set_header Host $host; #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
58+
proxy_set_header X-Real-IP $remote_addr;
59+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
60+
client_max_body_size 10m; #允许客户端请求的最大单文件字节数
61+
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
62+
proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间
63+
proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
64+
proxy_read_timeout 300; #连接成功后,后端服务器响应时间
65+
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
66+
proxy_buffers 6 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
67+
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
68+
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
69+
}
70+
71+
#常见错误页面设置
72+
error_page 404 /404.html;
73+
error_page 500 502 503 504 /50x.html;
74+
location = /50x.html {
75+
root /usr/program/tomcat8/webapps/ROOT;
76+
}
77+
}
78+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Server port="8005" shutdown="SHUTDOWN">
3+
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
4+
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
5+
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
6+
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
7+
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
8+
<GlobalNamingResources>
9+
<Resource name="UserDatabase" auth="Container"
10+
type="org.apache.catalina.UserDatabase"
11+
description="User database that can be updated and saved"
12+
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
13+
pathname="conf/tomcat-users.xml" />
14+
</GlobalNamingResources>
15+
<Service name="Catalina">
16+
17+
<Executor
18+
name="tomcatThreadPool"
19+
namePrefix="catalina-exec-"
20+
maxThreads="500"
21+
minSpareThreads="100"
22+
prestartminSpareThreads = "true"
23+
maxQueueSize = "100"
24+
/>
25+
26+
27+
<Connector
28+
executor="tomcatThreadPool"
29+
port="8080"
30+
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
31+
connectionTimeout="20000"
32+
maxConnections="10000"
33+
redirectPort="8443"
34+
enableLookups="false"
35+
acceptCount="100"
36+
maxPostSize="10485760"
37+
compression="on"
38+
disableUploadTimeout="true"
39+
compressionMinSize="2048"
40+
acceptorThreadCount="2"
41+
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
42+
URIEncoding="utf-8"
43+
/>
44+
<!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->
45+
<Engine name="Catalina" defaultHost="localhost">
46+
<Realm className="org.apache.catalina.realm.LockOutRealm">
47+
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
48+
resourceName="UserDatabase"/>
49+
</Realm>
50+
<Host name="localhost" appBase="webapps"
51+
unpackWARs="true" autoDeploy="true">
52+
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
53+
prefix="localhost_access_log" suffix=".txt"
54+
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
55+
</Host>
56+
</Engine>
57+
</Service>
58+
</Server>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/sh
2+
3+
echo "安装 mysql 开始"
4+
5+
cd /opt/setups
6+
7+
tar zxvf mysql-5.6.35.tar.gz
8+
9+
mv /opt/mysql-5.6.35 /usr/program/
10+
11+
yum install -y make gcc-c++ cmake bison-devel ncurses-devel
12+
13+
cd /usr/program/mysql-5.6.35/
14+
15+
mkdir -p /usr/program/mysql/data
16+
17+
cmake -DCMAKE_INSTALL_PREFIX=/usr/program/mysql -DMYSQL_DATADIR=/usr/program/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1
18+
19+
make
20+
21+
make install
22+
23+
cp /usr/program/mysql-5.6.35/support-files/mysql.server /etc/init.d/mysql
24+
25+
chmod 755 /etc/init.d/mysql
26+
27+
chkconfig mysql on
28+
29+
cp /usr/program/mysql-5.6.35/support-files/my-default.cnf /etc/my.cnf
30+
31+
rm -rf /usr/program/mysql-5.6.35/
32+
33+
groupadd mysql
34+
35+
useradd -g mysql mysql -s /bin/false
36+
37+
chown -R mysql:mysql /usr/program/mysql/data
38+
39+
/usr/program/mysql/scripts/mysql_install_db --basedir=/usr/program/mysql --datadir=/usr/program/mysql/data --skip-name-resolve --user=mysql
40+
41+
ln -s /usr/program/mysql/bin/mysql /usr/bin
42+
43+
ln -s /usr/program/mysql/bin/mysqladmin /usr/bin
44+
45+
echo "安装 mysql 结束,现在需要手动设置防火墙和禁用 selinux."

0 commit comments

Comments
 (0)